DigitalSignatureCollection

DigitalSignatureCollection class

Предоставляет набор цифровых подписей, прикрепленных к документу.

public class DigitalSignatureCollection : IEnumerable

Конструкторы

ИмяОписание
DigitalSignatureCollection()Конструктор DigitalSignatureCollection.

Методы

ИмяОписание
Add(DigitalSignature)Добавьте одну подпись в коллекцию DigitalSignatureCollection.
GetEnumerator()Получить перечислитель для DigitalSignatureCollection, этот перечислитель позволяет перебирать коллекцию

Примеры

В следующем примере показано, как создать цифровую подпись

[C#]
internal void ValidateSignature()
{
   Workbook wb = new Workbook(@"newfile.xlsx");
   //wb.IsDigitallySigned имеет значение true, если рабочая книга уже подписана.
   System.Console.WriteLine(wb.IsDigitallySigned);
   // получаем коллекцию digitalSignature из книги
   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 — коллекция подписей, содержащая одну или несколько подписей, необходимых для подписи
   DigitalSignatureCollection dsc = new DigitalSignatureCollection();
   //сертификат должен содержать закрытый ключ, его можно создать из файла сертификата или коллекции сертификатов Windows.
   //123456 - пароль сертификата
   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 подписывает все подписи в dsc
   wb.SetDigitalSignature(dsc);
   wb.Save(@"newfile.xlsx");
}

[Visual Basic]
   Sub ValidateSignature()
   Dim workbook As Workbook = New Workbook("newfile.xlsx")
   'Workbook.IsDigitallySigned имеет значение true, если рабочая книга уже подписана.
   System.Console.WriteLine(workbook.IsDigitallySigned)
   'получить коллекцию digitalSignature из книги
   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  коллекция подписей, содержащая одну или несколько подписей, необходимых для подписи.
   Dim dsc As DigitalSignatureCollection = New DigitalSignatureCollection()
   'сертификат должен содержать закрытый ключ, его можно создать из файла сертификата или коллекции сертификатов Windows.
   Dim cert As X509Certificate2 = New X509Certificate2("mykey2.pfx", "123456")
   'создать подпись с сертификатом, целью подписи и временем подписи
   Dim ds As DigitalSignature = New DigitalSignature(cert, "test for sign", DateTime.Now)
   dsc.Add(ds)
   Dim workbook As Workbook = New Workbook()
   'workbook.SetDigitalSignature подписывает все подписи в dsc
   workbook.SetDigitalSignature(dsc)
   workbook.Save("newfile.xlsx")
End Sub

Смотрите также