java - 如何在使用自己的证书时启用 PDF LTV 签名 (Adobe java PDFBox)

标签 java adobe pdfbox signature

我使用生成了自己的 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

当我使用客户端证书在 Adob​​e 中签署我的 pdf 时,Adobe 会检查签名并显示客户端证书是由 CA 颁发的。但它显示签名不支持 LTV,并且不提供添加信息以使其支持 LTV 的选项(右键单击签名)。然后,我使用 AddValidationInformation.java 通过代码添加信息,但不幸的是,签名仍然不支持 LTV。

你有什么提示吗?

非常感谢!

最佳答案

LTV 启用签名包括收集所有已使用证书的吊销信息(CRL 或 OCSP 响应),明确信任的证书或相应标记的 OCSP 签名者证书除外。

为此,Adobe Acrobat 需要知道在哪里(方法和 URL)检索此类吊销信息。它从相关证书的属性中读取这些详细信息。

您无需将这些详细信息添加到您的证书中。

要使 Adob​​e Acrobat 能够 LTV 启用您的签名,您必须为您的微型 PKI 设置 OCSP 响应程序或 CRL 下载服务,并在证书创建过程中添加引用。

要启用您自己的代码,您至少必须能够以某种方式为相关证书创建 OCSP 响应或 CRL,并扩展您的代码以利用该功能。例如。手动为您的 PKI 生成 CRL,使其可供文件系统中的代码使用,并使您的代码包含它。

关于java - 如何在使用自己的证书时启用 PDF LTV 签名 (Adobe java PDFBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59555773/

相关文章:

adobe - 无法使用 iTextSharp 从动态 PDF 表单中读取字段

java - PDFBox - 从图像生成 PDF 时出现问题

java - 如何使用 Apache PDFBox 将图像移动到 PDF 页面的顶部?

java - Lombok 的构造函数功能

apache-flex - Flex RSL 错误 : the loaded file did not have a valid signature

java - RESTEasy JAX-RS 应用程序未调用 @PreDestroy

javascript - AEM - 获取子组件对话框内父组件对话的属性

java - PDF 解析器文本包含

java - 奇怪的 ClassCastException

java - 警报对话框自定义