Цифровые подписи в документах похожи на бумажные подписи, однако, будучи основанными на сертификатах электронными подписями, они содержат личность подписывающего в зашифрованном виде. Сертификаты выдаются доверенными и авторизованными центрами сертификации. Эти органы идентифицируют лицо, которому выдаются сертификаты. Вот почему документы с цифровой подписью можно проверить в любое время. В этой статье я покажу вам, как программно проверить цифровую подпись в PDF, Word и Excel, документах с помощью GroupDocs.Signature for .NET API с C#.
Действия по проверке документа PDF с цифровой подписью
Для демонстрации я использую PDF-документ для проверки цифровой подписи. Однако тот же код будет работать для форматов документов MS Word и Excel.
1. Загрузите GroupDocs.Signature for .NET или установите его с помощью NuGet.
2. Добавьте в код следующие пространства имен.
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
3. Загрузите PDF-документ с цифровой подписью, используя экземпляр класса Signature.
using (Signature signature = new Signature("sample.pdf"))
{
// Ваш код идет сюда.
}
4. Создайте объект DigitalVerifyOptions и укажите параметры проверки.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
5. Вызовите метод Verify экземпляра _Signature _class и передайте ему _DigitalVerifyOptions _.
// проверять подписи документов
VerificationResult result = signature.Verify(options);
6. Проверить результаты проверки из объекта VerificationResult.
if (result.IsValid)
{
Console.WriteLine("\nDocument was verified successfully!");
}
else
{
Console.WriteLine("\nDocument failed verification process.");
}
Полный код
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
using (Signature signature = new Signature("sample.pdf"))
{
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
// проверять подписи документов
VerificationResult result = signature.Verify(options);
if (result.IsValid)
{
Console.WriteLine("\nDocument was verified successfully!");
}
else
{
Console.WriteLine("\nDocument failed verification process.");
}
}
Таким образом, вы можете определить, соответствует ли цифровая подпись в документе PDF заданным критериям или нет. Наконец, вы можете пометить документ как действительный или недействительный. Узнайте больше о GroupDocs.Signature for .NET API здесь.