Цифровые подписи на основе сертификатов — это тип электронной подписи, который обеспечивает высочайший уровень гарантии личности подписывающего лица и соответствует строгим правилам. В этой статье мы научимся программно проверять документы с цифровой подписью с помощью 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 метод 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 можно узнать из статьй документации.

Смотрите также