DigitalSignatureCollection

DigitalSignatureCollection class

Tillhandahåller en samling digitala signaturer bifogade till ett dokument.

public class DigitalSignatureCollection : IEnumerable

Konstruktörer

namn Beskrivning
DigitalSignatureCollection() Konstruktören av DigitalSignatureCollection.

Metoder

namn Beskrivning
Add(DigitalSignature) Lägg till en signatur till DigitalSignatureCollection.
GetEnumerator() Hämta enumeratorn för DigitalSignatureCollection, denna enumerator tillåter iteration över collection

Exempel

Följande exempel visar hur man skapar digital signatur

[C#]
internal void ValidateSignature()
{
   Workbook wb = new Workbook(@"newfile.xlsx");
   //wb.IsDigitallySigned är sant när arbetsboken redan är signerad.
   System.Console.WriteLine(wb.IsDigitallySigned);
   //hämta digitalsignatursamling från arbetsbok
   DigitalSignatureCollection dsc = wb.GetDigitalSignature();
   foreach (DigitalSignature ds in dsc)
   {
       System.Console.WriteLine(ds.Comments);
       System.Console.WriteLine(ds.SignTime);
       System.Console.WriteLine(ds.IsValid);
   }
}
internal void SignSignature()
{
   //dsc är signatursamling innehåller en eller flera signaturer som behövs för att signera
   DigitalSignatureCollection dsc = new DigitalSignatureCollection();
   //cert måste innehålla privat nyckel, den kan skapas från certfil eller Windows-certifikatsamling.
   //123456 är lösenordet för cert
   X509Certificate2 cert = new X509Certificate2("mykey2.pfx", "123456");
   DigitalSignature ds = new DigitalSignature(cert, "test for sign", DateTime.Now);
   dsc.Add(ds);
   Workbook wb = new Workbook();
   //wb.SetDigitalSignature signerar alla signaturer i dsc
   wb.SetDigitalSignature(dsc);
   wb.Save(@"newfile.xlsx");
}

[Visual Basic]
   Sub ValidateSignature()
   Dim workbook As Workbook = New Workbook("newfile.xlsx")
   'Workbook.IsDigitallySigned är sant när arbetsboken redan är signerad.
   System.Console.WriteLine(workbook.IsDigitallySigned)
   'hämta digitalsignatursamling från arbetsboken
   Dim dsc As DigitalSignatureCollection = workbook.GetDigitalSignature()
   Dim ds As DigitalSignature
   For Each ds In dsc
       System.Console.WriteLine(ds.Comments)
       System.Console.WriteLine(ds.SignTime)
       System.Console.WriteLine(ds.IsValid)
   Next
End Sub

Sub SignSignature()
   'dsc är signatursamling innehåller en eller flera signaturer som behövs för att signera
   Dim dsc As DigitalSignatureCollection = New DigitalSignatureCollection()
   'cert måste innehålla privat nyckel, den kan skapas från certfil eller Windows-certifikatsamling.
   Dim cert As X509Certificate2 = New X509Certificate2("mykey2.pfx", "123456")
   'skapa en signatur med certifikat, teckensyfte och signeringstid
   Dim ds As DigitalSignature = New DigitalSignature(cert, "test for sign", DateTime.Now)
   dsc.Add(ds)
   Dim workbook As Workbook = New Workbook()
   'workbook.SetDigitalSignature signera alla signaturer i dsc
   workbook.SetDigitalSignature(dsc)
   workbook.Save("newfile.xlsx")
End Sub

Se även