Assegna e convalida le firme digitali
introduzione
Utilizzare la finestra di dialogo Firma digitale per allegare una firma digitale. La finestra di dialogo Firma digitale elenca i certificati validi. È possibile utilizzare la finestra di dialogo Firma digitale per visualizzare i certificati e selezionare quello che si desidera utilizzare. Se una cartella di lavoro ha una firma digitale, il nome della firma viene visualizzato nel fileNome certificato campo. Se fai clic sulRimuovere pulsante nella finestra di dialogo Firma digitale, Microsoft Excel rimuove anche la firma digitale.
Aspose.Cells fornisce ilAspose.Cells.DigitalSignaturesspazio dei nomi per eseguire il lavoro (assegnare e convalidare le firme digitali). Lo spazio dei nomi ha alcune funzioni utili per l’aggiunta e la convalida delle firme digitali.
Vedere il seguente codice di esempio che descrive come eseguire l’attività utilizzando 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 | |
} |