Assegnare e convalidare le firme digitali
Introduzione
Utilizzare il dialogo Firma digitale per allegare una firma digitale. Il dialogo Firma digitale elenca certificati validi. È possibile utilizzare il 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 appare nel campo Nome certificato. Se si fa clic sul pulsante Rimuovi nel dialogo Firma digitale, Microsoft Excel rimuove anche la firma digitale.
Come aggiungere una firma digitale per Excel
Aspose.Cells fornisce il namespace Aspose.Cells.DigitalSignatures per eseguire il lavoro (assegnare e convalidare firme digitali). Il namespace ha alcune funzionalità utili per aggiungere e convalidare firme digitali.
Si prega di consultare il seguente codice di esempio che descrive come è possibile eseguire il compito utilizzando l’API Aspose.Cells for .NET.
// 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 | |
} |