我正在使用Jpedal(LGPL版本4.48b55)来渲染包含已激活可视化表示的签名的文档页面。但是,这些签名会出现过度覆盖的问号和“Signature Not Verified”文本。
如果我通过Adobe Acrobat Reader可视化文件,我会得到一个绿色勾号和一个说“签名有效”的文本(因为我在列表中包含了签名的证书颁发机构)。
有没有办法强制jPedal使用有效证书颁发机构列表验证签名,以便将签名呈现为有效?
答案 0 :(得分:2)
要在Java中使用证书,您需要先在Java Keystore上安装它。使用Java运行时提供的工具keytool来完成此任务。
从页面“The Most Common Java Keytool Keystore Commands”:
# 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中 package,定义“提供者”必须的SPI方法 实施
还有:
Sun提供了一个内置的默认实现 微。它使用a将密钥库实现为文件 专有密钥库类型(格式)名为“JKS”。