Assign and Validate Digital Signatures

Introduction

Use the Digital Signature dialog to attach a digital signature. The Digital Signature dialog lists valid certificates. You can use the Digital Signature dialog to view certificates and to select the one you want to use. If a workbook has a digital signature, the name of the signature appears in the Certificate Name field. If you click the Remove button in the Digital Signature dialog, Microsoft Excel removes the digital signature as well.

How to Add Digital Signature for Excel

Aspose.Cells provides the Aspose.Cells.DigitalSignatures namespace to perform the job (assign and validate digital signatures). The namespace has some useful features for adding and validating digital signatures.

Please see the following sample code that describes how you can perform the task using the Aspose.Cells for .NET API.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// dsc is signature collection contains one or more signature needed to sign
DigitalSignatureCollection dsc = new DigitalSignatureCollection();
// Cert must contain private key, it can be contructed from cert file or windows certificate collection. aa is password of cert
X509Certificate2 cert = new X509Certificate2(dataDir + "mykey2.pfx", "aa");
DigitalSignature ds = new DigitalSignature(cert, "test for sign", DateTime.Now);
dsc.Add(ds);
Workbook wb = new Workbook();
// wb.SetDigitalSignature signs all signatures in dsc
wb.SetDigitalSignature(dsc);
wb.Save(dataDir + @"newfile_out.xlsx");
// open the file
wb = new Workbook(dataDir + @"newfile_out.xlsx");
System.Console.WriteLine(wb.IsDigitallySigned);
// Get digitalSignature collection from workbook
dsc = wb.GetDigitalSignature();
foreach (DigitalSignature dst in dsc)
{
System.Console.WriteLine(dst.Comments); //test for sign -OK
System.Console.WriteLine(dst.SignTime); //11/25/2010 1:22:01 PM -OK
System.Console.WriteLine(dst.IsValid); //True -OK
}

Advance topics

  • Add Digital Signature to an already signed Excel file
  • Add Signature line to the worksheet
  • Support for XAdES Signature