DigitalSignatureCollection

DigitalSignatureCollection class

Stellt eine Sammlung digitaler Signaturen bereit, die an ein Dokument angehängt sind.

public class DigitalSignatureCollection : IEnumerable

Konstrukteure

NameBeschreibung
DigitalSignatureCollection()Der Konstruktor von DigitalSignatureCollection.

Methoden

NameBeschreibung
Add(DigitalSignature)Eine Signatur zu DigitalSignatureCollection hinzufügen.
GetEnumerator()Holen Sie sich den Enumerator für DigitalSignatureCollection, dieser Enumerator ermöglicht die Iteration über die Sammlung

Beispiele

Das folgende Beispiel zeigt, wie eine digitale Signatur erstellt wird

[C#]
internal void ValidateSignature()
{
   Workbook wb = new Workbook(@"newfile.xlsx");
   //wb.IsDigitallySigned ist wahr, wenn die Arbeitsmappe bereits signiert ist.
   System.Console.WriteLine(wb.IsDigitallySigned);
   // DigitalSignature-Sammlung aus Arbeitsmappe abrufen
   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 ist eine Signatursammlung, die eine oder mehrere Signaturen enthält, die zum Signieren erforderlich sind
   DigitalSignatureCollection dsc = new DigitalSignatureCollection();
   //Zertifikat muss einen privaten Schlüssel enthalten, es kann aus der Zertifikatsdatei oder der Windows-Zertifikatssammlung erstellt werden.
   //123456 ist das Passwort von 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 alle Signaturen in dsc signieren
   wb.SetDigitalSignature(dsc);
   wb.Save(@"newfile.xlsx");
}

[Visual Basic]
   Sub ValidateSignature()
   Dim workbook As Workbook = New Workbook("newfile.xlsx")
   'Workbook.IsDigitallySigned ist wahr, wenn die Arbeitsmappe bereits signiert ist.
   System.Console.WriteLine(workbook.IsDigitallySigned)
   'Holen Sie sich die DigitalSignature-Sammlung aus der Arbeitsmappe
   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 ist eine Signatursammlung, die eine oder mehrere Signaturen enthält, die zum Signieren erforderlich sind
   Dim dsc As DigitalSignatureCollection = New DigitalSignatureCollection()
   'Das Zertifikat muss einen privaten Schlüssel enthalten, es kann aus der Zertifikatsdatei oder der Windows-Zertifikatssammlung erstellt werden.
   Dim cert As X509Certificate2 = New X509Certificate2("mykey2.pfx", "123456")
   'Erstellen Sie eine Signatur mit Zertifikat, Signaturzweck und Signaturzeit
   Dim ds As DigitalSignature = New DigitalSignature(cert, "test for sign", DateTime.Now)
   dsc.Add(ds)
   Dim workbook As Workbook = New Workbook()
   'workbook.SetDigitalSignature alle Signaturen in dsc signieren
   workbook.SetDigitalSignature(dsc)
   workbook.Save("newfile.xlsx")
End Sub

Siehe auch