Рендеринг PDF документов, содержащих визуальные подписи, используя Jpedal - PullRequest
2 голосов
/ 27 февраля 2012

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

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

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

1 Ответ

2 голосов
/ 27 февраля 2012

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

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

# 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, реализованы в терминах «Интерфейс поставщика услуг» (SPI).То есть существует соответствующий абстрактный класс KeystoreSpi, также в пакете java.security, который определяет методы SPI, которые должны реализовывать «провайдеры».

А также:

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

...