我正在使用Jpedal (LGPL版本4.48b55)来呈现包含激活了可视表示的签名的文档页面。但是,这些签名会带有一个叠加的问号和文本"Signature Not Verified“。
如果我通过Adobe Acrobat Reader可视化该文件,我会得到一个绿色的勾号和一个文本,说明“签名有效”(因为我在列表中包含了签名的证书颁发机构)。
有没有办法强制jPedal使用有效的证书颁发机构列表来验证签名,从而使签名成为有效的?
发布于 2012-02-28 02:04:37
为了在Java中使用证书,您需要首先将其安装在Java密钥库中。使用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如果希望应用程序直接从操作系统使用密钥库,则必须为此指定一个不同于默认提供程序的特定提供程序。
From the documentation
密钥库实现是基于提供程序的。更具体地说,由KeyStore提供的应用程序接口是按照“服务提供者接口”(Service Provider Interface)实现的。也就是说,在java.security包中也有一个对应的抽象SPI类,它定义了“提供者”必须实现的KeystoreSpi方法。
还有:
有一个内置的默认实现,由Sun Microsystems提供。它将密钥库实现为一个文件,使用名为“JKS”的专有密钥库类型(格式)。
https://stackoverflow.com/questions/9464973
复制相似问题