我使用生成了自己的 CA
openssl genrsa -des3 -out rootCAtrusted.key 2048 openssl req -x509 -new -nodes -key rootCAtrusted.key -sha256 -days 1024 out rootCAtrusted.crt
我仅提供了国家、州、地点、组织、单位、常用名和电子邮件。然后我使用它创建了一个客户端证书
openssl req -out client1.csr -newkey rsa:1024 -nodes -keyout client1.key openssl x509 -req -days 1024 -in client1.csr -CA rootCAtrusted.crt -CAkey rootCAtrusted.key -CAcreateserial -out client1signedtrusted.crt -sha256
当我使用客户端证书在 Adobe 中签署我的 pdf 时,Adobe 会检查签名并显示客户端证书是由 CA 颁发的。但它显示签名不支持 LTV,并且不提供添加信息以使其支持 LTV 的选项(右键单击签名)。然后,我使用 AddValidationInformation.java 通过代码添加信息,但不幸的是,签名仍然不支持 LTV。
你有什么提示吗?
非常感谢!
最佳答案
LTV 启用签名包括收集所有已使用证书的吊销信息(CRL 或 OCSP 响应),明确信任的证书或相应标记的 OCSP 签名者证书除外。
为此,Adobe Acrobat 需要知道在哪里(方法和 URL)检索此类吊销信息。它从相关证书的属性中读取这些详细信息。
您无需将这些详细信息添加到您的证书中。
要使 Adobe Acrobat 能够 LTV 启用您的签名,您必须为您的微型 PKI 设置 OCSP 响应程序或 CRL 下载服务,并在证书创建过程中添加引用。
要启用您自己的代码,您至少必须能够以某种方式为相关证书创建 OCSP 响应或 CRL,并扩展您的代码以利用该功能。例如。手动为您的 PKI 生成 CRL,使其可供文件系统中的代码使用,并使您的代码包含它。
关于java - 如何在使用自己的证书时启用 PDF LTV 签名 (Adobe java PDFBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59555773/