Asignar y Validar Firmas Digitales

Introducción

Utilice el cuadro de diálogo Firma digital para adjuntar una firma digital. El cuadro de diálogo Firma digital enumera los certificados válidos. Puede usar el cuadro de diálogo Firma digital para ver los certificados y seleccionar el que desea usar. Si un libro de trabajo tiene una firma digital, el nombre de la firma aparece en elNombre del certificado campo. Si hace clic en elEliminar en el cuadro de diálogo Firma digital, Microsoft Excel también elimina la firma digital.

Aspose.Cells proporciona elAspose.Cells.DigitalSignaturesespacio de nombres para realizar el trabajo (asignar y validar firmas digitales). El espacio de nombres tiene algunas características útiles para agregar y validar firmas digitales.

Consulte el siguiente código de ejemplo que describe cómo puede realizar la tarea con 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
}

Temas avanzados