Цифровые подписи
Цифровые подписи в формате PDF
Цифровые подписи PDF используют криптографические сертификаты для подтверждения подлинности документа и обнаружения фальсификации. Подписи встраиваются в поля подписей внутри документа.
PdfFileSignature (подпись файла)
PdfFileSignature обеспечивает операции для подписи и проверки полей подписей в существующий PDF-документ:
try (PdfFileSignature sig = new PdfFileSignature("input.pdf")) {
sig.sign(1, certificate, privateKey, chain, null, new DocMDPSignature(doc, DocMDPAccessPermissions.FillingInForms));
sig.save("signed.pdf");
}Проверка проверяет, охватывает ли подпись ожидаемый диапазон байтов и является ли сертификат подписания действительным.
PdfSigner (Подпись)
PdfSigner обеспечивает рабочий процесс подписи на высоком уровне, сочетающий в себе создание поля для подписания;, Создание контейнеров PKCS#7 и расчет диапазона байтов.
PKCS7SignedData (ПКС7-подписанные данные)
PKCS7SignedData.createDetached() создает отдельный контейнер для подписи CMS для: встраивание в словарь подписей PDF. См. PKCS#7 для подробностей.
Подтверждение подписи
После подписания подписи можно перечислить через: PdfFileSignature.getSignNames() и в том числе: проверяется путем проверки статуса действительности подписи.