Рендеринг 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".