Цифровий підпис на основі сертифіката – це тип електронного підпису, який забезпечує найвищий рівень гарантії ідентифікації підписувача та відповідає суворим нормам. У цій статті ми навчимося програмно перевіряти документи з цифровим підписом за допомогою Java. В одній із попередніх публікацій ми обговорювали перевірку цифрових підписів у документах за допомогою C#.
Java API для перевірки підпису
У цій статті використовується API підпису документа для Java від GroupDocs. GroupDocs.Signatures for Java підтримує такі типи електронних підписів:
- Підписи штрих-кодів
- Підписи полів форми
- Підписи зображень
- Підписи метаданих
- Підписи QR-кодів
- Підписи печатки
- Текстові підписи
Отже, краще підготувати свій робочий простір заздалегідь, або завантаживши бібліотеку з розділу завантажень, або налаштувавши згадану конфігурацію у своїх програмах на основі Maven.
Кроки для перевірки PDF-документа з цифровим підписом за допомогою Java
Виконуючи кроки, ви можете перевірити документи з цифровим підписом. У цьому прикладі я використовував PDF-документ для перевірки, однак ті самі кроки працюватимуть для документів MS Word, електронних таблиць Excel і презентацій Powerpoint.
- Створіть екземпляр об’єкта Signature із вихідним документом.
- Створіть об’єкт класу DigitalVerifyOptions і вкажіть параметри перевірки.
- Викличте 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, використовуючи статті документації.