Рендеринг PDF документов, содержащих визуальные подписи, используя Jpedal

Я использую Jpedal (LGPL версия 4.48b55) для визуализации страниц документа, содержащих подписи с активированным визуальным представлением. Тем не менее, эти подписи отображаются с завышенным знаком вопроса и текстом "Подпись не проверена".

Если я и визуализирую файл через Adobe Acrobat Reader, я получаю зеленую галочку и текст с надписью "подпись действительна" (так как я включил центр сертификации подписей в список).

Есть ли способ заставить jPedal проверять подписи с помощью списка действительных центров сертификации, чтобы он считал подписи действительными?

1 ответ

Чтобы использовать сертификат в Java, необходимо сначала установить его в хранилище ключей Java. Для выполнения этой задачи используйте инструмент keytool, предоставляемый во время выполнения Java.

На странице " Самые распространенные команды хранилища ключей Java Keytool":

# Import New CA into Trusted Certs
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts

Если вы хотите, чтобы ваше приложение использовало хранилище ключей непосредственно из ОС, вам нужно будет указать для этого конкретного поставщика, отличного от установленного по умолчанию.

Из документации:

Реализации Keystore основаны на провайдере. Более конкретно, интерфейсы приложений, предоставляемые KeyStore, реализованы в терминах "Интерфейс поставщика услуг" (SPI). То есть существует соответствующий абстрактный класс KeystoreSpi, также в пакете java.security, который определяет методы SPI, которые должны реализовывать "провайдеры".

А также:

Существует встроенная реализация по умолчанию, предоставляемая Sun Microsystems. Он реализует хранилище ключей в виде файла, используя собственный тип (формат) хранилища ключей с именем "JKS".

Другие вопросы по тегам