Цифровий підпис на основі сертифіката – це тип електронного підпису, який забезпечує найвищий рівень гарантії ідентифікації підписувача та відповідає суворим нормам. У цій статті ми навчимося програмно перевіряти документи з цифровим підписом за допомогою Java. В одній із попередніх публікацій ми обговорювали перевірку цифрових підписів у документах за допомогою C#.

Java API для перевірки підпису

GroupDocs.Signature для підпису документів за допомогою Java

У цій статті використовується API підпису документа для Java від GroupDocs. GroupDocs.Signatures for Java підтримує такі типи електронних підписів:

  • Підписи штрих-кодів
  • Підписи полів форми
  • Підписи зображень
  • Підписи метаданих
  • Підписи QR-кодів
  • Підписи печатки
  • Текстові підписи

Отже, краще підготувати свій робочий простір заздалегідь, або завантаживши бібліотеку з розділу завантажень, або налаштувавши згадану конфігурацію у своїх програмах на основі Maven.

Кроки для перевірки PDF-документа з цифровим підписом за допомогою Java

Виконуючи кроки, ви можете перевірити документи з цифровим підписом. У цьому прикладі я використовував PDF-документ для перевірки, однак ті самі кроки працюватимуть для документів MS Word, електронних таблиць Excel і презентацій Powerpoint.

  1. Створіть екземпляр об’єкта Signature із вихідним документом.
  2. Створіть об’єкт класу DigitalVerifyOptions і вкажіть параметри перевірки.
  3. Викличте verify метод підпису та передайте вказані параметри перевірки.

Нижче наведено повний зразок вихідного коду, який показує описаний вище процес. Тут код Java перевіряє PDF-документ із цифровим підписом. Ви також можете виконувати перевірку документів із цифровим підписом, таких як MS Word DOC/DOCX, електронні таблиці Excel XLS/XLSX і презентації PPT/PPTX.

// Перевірка цифрових підписів у PDF-документі за допомогою Signature API для Java від GroupDocs
Signature signature = new Signature("sample_signed.pdf");

DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx");
options.setComments("Test comment");
options.setPassword("1234567890");

// Перевірте підписи документів
VerificationResult result = signature.verify(options);
if (result.isValid()) {
    System.out.println("Document Verified Successfully !");
}
else {
    System.out.println("Document Verification Failed.");
}

Висновок

Сьогодні ми навчилися перевіряти документи MS Word, Excel, PowerPoint і PDF з цифровим підписом за допомогою Java. Ви можете дізнатися більше про функції GroupDocs.Signature for Java, використовуючи статті документації.

Дивись також