Tilldela och validera digitala signaturer

Introduktion

Använd Digital Signature dialogrutan för att bifoga en digital signatur. Digital Signature dialogrutan listar giltiga certifikat. Du kan använda Digital Signature dialogrutan för att visa certifikat och välja det du vill använda. Om en arbetsbok har en digital signatur, visas namnet på signaturen i fältet Certifikatnamn. Om du klickar på knappen Ta bort i Digital Signature dialogrutan, tar Microsoft Excel bort den digitala signaturen också.

Så här lägger du till digital signatur för Excel

Aspose.Cells tillhandahåller namespace Aspose.Cells.DigitalSignatures för att utföra uppgiften (tilldela och validera digitala signaturer). Namespace har några användbara funktioner för att lägga till och validera digitala signaturer.

Se följande exempelkod som beskriver hur du kan utföra uppgiften med hjälp av Aspose.Cells for .NET APIen.

// 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
}

Fortsatta ämnen