Назначение и проверка цифровых подписей

Введение

Используйте диалоговое окно цифровой подписи для прикрепления цифровой подписи. Диалоговое окно цифровой подписи перечисляет действительные сертификаты. Вы можете использовать диалоговое окно цифровой подписи для просмотра сертификатов и выбора нужного. Если у рабочей книги есть цифровая подпись, имя подписи отображается в поле Имя сертификата. Если вы щелкнете кнопку Удалить в диалоговом окне цифровой подписи, Microsoft Excel также удалит цифровую подпись.

Как добавить цифровую подпись в Excel

Aspose.Cells предоставляет пространство имен Aspose.Cells.DigitalSignatures для выполнения этой задачи (назначение и проверка цифровых подписей). Пространство имен содержит несколько полезных функций для добавления и проверки цифровых подписей.

Пожалуйста, ознакомьтесь с приведенным ниже образцом кода, который описывает, как выполнить задачу с использованием API Aspose.Cells for .NET.

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

Продвинутые темы