DigitalSignatureCollection

DigitalSignatureCollection class

Proporciona una colección de firmas digitales adjuntas a un documento.

public class DigitalSignatureCollection : IEnumerable

Constructores

Nombre Descripción
DigitalSignatureCollection() El constructor de DigitalSignatureCollection.

Métodos

Nombre Descripción
Add(DigitalSignature) Agregar una firma a DigitalSignatureCollection.
GetEnumerator() Obtenga el enumerador para DigitalSignatureCollection, este enumerador permite la iteración sobre la colección

Ejemplos

El siguiente ejemplo muestra cómo crear una firma digital

[C#]
internal void ValidateSignature()
{
   Workbook wb = new Workbook(@"newfile.xlsx");
   //wb.IsDigitallySigned es verdadero cuando el libro de trabajo ya está firmado.
   System.Console.WriteLine(wb.IsDigitallySigned);
   // obtener la colección de firmas digitales del libro de trabajo
   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 es una colección de firmas que contiene una o más firmas necesarias para firmar
   DigitalSignatureCollection dsc = new DigitalSignatureCollection();
   // El certificado debe contener una clave privada, se puede construir a partir del archivo de certificado o de la colección de certificados de Windows.
   //123456 es la contraseña de 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 firma todas las firmas en dsc
   wb.SetDigitalSignature(dsc);
   wb.Save(@"newfile.xlsx");
}

[Visual Basic]
   Sub ValidateSignature()
   Dim workbook As Workbook = New Workbook("newfile.xlsx")
   'Workbook.IsDigitallySigned es verdadero cuando el libro de trabajo ya está firmado.
   System.Console.WriteLine(workbook.IsDigitallySigned)
   'obtener la colección digitalSignature del libro de trabajo
   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 es una colección de firmas que contiene una o más firmas necesarias para firmar
   Dim dsc As DigitalSignatureCollection = New DigitalSignatureCollection()
   'El certificado debe contener una clave privada, se puede construir a partir del archivo de certificado o de la colección de certificados de Windows.
   Dim cert As X509Certificate2 = New X509Certificate2("mykey2.pfx", "123456")
   'crear una firma con certificado, propósito de firma y tiempo de firma
   Dim ds As DigitalSignature = New DigitalSignature(cert, "test for sign", DateTime.Now)
   dsc.Add(ds)
   Dim workbook As Workbook = New Workbook()
   'workbook.SetDigitalSignature firma todas las firmas en dsc
   workbook.SetDigitalSignature(dsc)
   workbook.Save("newfile.xlsx")
End Sub

Ver también