Цифровые подписи на основе сертификатов — это тип электронной подписи, который обеспечивает высочайший уровень гарантии личности подписывающего лица и соответствует строгим правилам. В этой статье мы научимся программно проверять документы с цифровой подписью с помощью Java. В одном из предыдущих постов мы обсуждали проверку цифровых подписей в документах с помощью C#.
Java API для проверки подписи
В этой статье используется API подписи документов для Java от GroupDocs. GroupDocs.Signatures for Java поддерживает следующие типы электронных подписей:
- Подписи штрих-кода
- Подписи поля формы
- Подписи изображений
- Подписи метаданных
- Подписи QR-кода
- Печатные подписи
- Текстовые подписи
Поэтому лучше заранее подготовить свое рабочее пространство, либо скачав библиотеку из раздела загрузок, либо настроив указанную конфигурацию в своих приложениях на основе Maven.
Шаги для проверки PDF-документа с цифровой подписью с использованием Java
Следуя инструкциям, вы можете проверить документы с цифровой подписью. В этом примере я использовал документ PDF для проверки, однако те же шаги будут работать для документов MS Word, электронных таблиц Excel и презентаций Powerpoint.
- Создайте объект Signature с исходным документом.
- Создайте объект класса DigitalVerifyOptions и укажите параметры проверки.
- Вызовите verify метод Signature и передайте указанные параметры проверки.
Ниже приведен полный образец исходного кода, демонстрирующий описанный выше процесс. Здесь код 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 можно узнать из статьй документации.