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

如何在使用自己的证书(Adobe java PDFBox)时启用PDF LTV签名,java,adobe,pdfbox,signature,Java,Adobe,Pdfbox,Signature,我已经使用 我只提供了国家、州、地区、组织、单位、通用名称和电子邮件。然后,我使用创建了一个客户端证书 当我使用客户端证书在Adobe中签署我的pdf时,Adobe会检查签名并显示客户端证书是由CA颁发的。但它显示签名不支持LTV,并且不提供添加信息以使其支持LTV的选项(右键单击签名)。然后,我使用AddValidationInformation.java通过代码添加信息,但运气不好,签名仍然不支持LTV 你有什么提示吗 非常感谢 LTV启用签名包括为所有使用的证书收集吊销信息(CRL或OCS

我已经使用

我只提供了国家、州、地区、组织、单位、通用名称和电子邮件。然后,我使用创建了一个客户端证书

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

你有什么提示吗

非常感谢

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

要做到这一点,Adobe Acrobat需要知道在何处(方法和URL)检索此类撤销信息。它从相关证书的属性中读取这些详细信息

您不会将这些详细信息添加到证书中

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

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

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

要做到这一点,Adobe Acrobat需要知道在何处(方法和URL)检索此类撤销信息。它从相关证书的属性中读取这些详细信息

您不会将这些详细信息添加到证书中

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


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

我在这里放置了几个文件:名称中带有“client1”的文件具有未启用LTV的签名(ocsp是我使用AddValidationInformation.java修改文件的版本,但结果没有什么不同。带有“RM”的文件名称中奇怪地有一个已启用LTV的签名。它必须与将其提升为信任锚点有关。但我无法使用新的CA/客户端证书复制此签名。此外,RM证书实际上似乎已损坏,AddValidationInformation.java无法检测是谁颁发了此签名。从mkls响应来看,我的问题的解决方案不可用em很简单。我不能通过指定一个证书作为信任锚来快捷方式吗?还有mkl建议的代码示例吗?非常感谢在这个论坛中的及时和有能力的回复,非常感谢!我忘了在1drv中提到pdf的密码。对于所有人来说都是“1234”。“我不能通过将证书指定为信任锚点来设置快捷方式”-如果您在Acrobat设置中明确信任签名者证书,则具有该证书的每个签名都应显示为已启用LTV。我说“应该”“因为AFAIK没有关于启用LTV需要什么的开放规范,只是一些或多或少模糊的描述。我在这里放置了几个文件:名称中带有“client1”的文件有一个未启用LTV的签名(ocsp是我使用AddValidationInformation.java修改文件的版本,但结果没有什么不同。带有“RM”的文件名称中奇怪地有一个已启用LTV的签名。它必须与将其提升为信任锚点有关。但我无法使用新的CA/客户端证书复制此签名。此外,RM证书实际上似乎已损坏,AddValidationInformation.java无法检测是谁颁发了此签名。从mkls响应来看,我的问题的解决方案不可用em很简单。我不能通过指定一个证书作为信任锚来快捷方式吗?还有mkl建议的代码示例吗?非常感谢在这个论坛中的及时和有能力的回复,非常感谢!我忘了在1drv中提到pdf的密码。对于所有人来说都是“1234”。“我不能通过将证书指定为信任锚点来设置快捷方式”-如果您在Acrobat设置中明确信任签名者证书,则具有该证书的每个签名都应显示为已启用LTV。我说“应该”,因为目前还没有关于启用LTV所需内容的开放规范,只是一些或多或少模糊的特征。
 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