Цифрові підписи в документах виглядають подібно до паперових підписів, однак, будучи електронними підписами на основі сертифікатів, вони містять особу підписувача в зашифрованій формі. Сертифікати видаються перевіреними та авторизованими центрами сертифікації. Ці органи ідентифікують особу, якій видаються сертифікати. Тому документи з цифровим підписом можна перевірити в будь-який час. У цій статті я покажу вам, як програмно перевіряти цифровий підпис у документах PDF, Word і Excel за допомогою API GroupDocs.Signature for .NET із C#.
Кроки для перевірки PDF-документа з цифровим підписом
Для демонстрації я використовую PDF-документ для перевірки цифрового підпису. Однак той самий код працюватиме для форматів документів MS Word і Excel.
-
Завантажте GroupDocs.Signature for .NET або встановіть його за допомогою NuGet.
-
Додайте наступні простори імен у свій код.
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
- Завантажте PDF-документ із цифровим підписом за допомогою екземпляра класу Signature.
using (Signature signature = new Signature("sample.pdf"))
{
// Ваш код міститься тут.
}
- Створіть об’єкт DigitalVerifyOptions і вкажіть параметри перевірки.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
- Викличте метод Verify екземпляра класу Signature і передайте йому DigitalVerifyOptions.
// перевірити підписи на документах
VerificationResult result = signature.Verify(options);
- Перевірити результати перевірки з об’єкта 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 тут.