据我所知有两种方法
DSS方法似乎是可行的,Adobe将签名识别为启用了LTV。第二种方法更适合我们的应用程序,所以我仍在努力让它工作。我在向签名添加OCSP响应时遇到了问题,所以我只尝试添加证书和CRL。如果我错了,请纠正我,但据我所知,CRL或OCSP响应都应该添加到签名中。不需要两者兼而有之吗?我收集签名证书及其根证书,还有TSA证书及其根证书。之后,我获取所有的CRL。所有这些都在签名和时间戳之前添加。只添加证书和CRL似乎不起作用,因为Adobe没有将签名识别为启用LTV。我真的不明白我做错了什么,所以感谢任何帮助!
Store crlStore = new JcaCRLStore(crls);
gen.addCRLs(crlStore);
Store certStore = new JcaCertStore(certList);
gen.addCertificates(certStore);
错误之处在于将CRL放入通常用于CRL的CMS签名容器元素中。然而,在集成PDF签名的情况下,情况就不同了;在这里,CRL应该在一个特殊的有符号属性中。
查看ISO 32000-1,其中已经指定了该属性:
PKCS#7对象应包含以下内容:
......
......
adbe吊销信息属性:
adbe-revocationInfoArchival OBJECT IDENTIFIER ::=
{ adbe(1.2.840.113583) acrobat(1) security(1) 8 }
吊销信息属性的值可以包括以下任何数据类型:
adbe的吊销信息属性值具有ASN。1类撤销:
RevocationInfoArchival ::= SEQUENCE {
crl [0] EXPLICIT SEQUENCE of CRLs, OPTIONAL
ocsp [1] EXPLICIT SEQUENCE of OCSP Responses, OPTIONAL
otherRevInfo [2] EXPLICIT SEQUENCE of OtherRevInfo, OPTIONAL
}
OtherRevInfo ::= SEQUENCE {
Type OBJECT IDENTIFIER
Value OCTET STRING
}
我想知道是否有一个替代包括完整的CRL同时仍然支持LTV?包含完整的CRL似乎有点矫枉过正,而似乎唯一需要的“东西”是包含一个可验证的证明,证明链中的证书在签名时没有被撤销。我认为使用OCSP可能会提供这样的功能,但是简单地删除CRL并包含一个OcspClientBouncyCastle实例并不能起到作用。授予SignDetached的OCSP是否用于检查证书是否在签名时被吊销? 一个相关的问题涉
我正在生成一个带有签名的PDF文档,我希望它启用LTV。为此,我在创建PDF时对其进行签名,然后添加包含DSS的第二个版本,其中包含与验证相关的信息(VRI)。正如我在一些文章中发现的,我需要添加证书链(没有根证书颁发机构)和证书吊销列表(CRL)。在我的例子中,两者都有两个元素。之后,我添加了VRI条目,它是签名内容(在/Contents中的第一个PDF版本中找到)的SHA-1散列,其值引用上述
我试图签署一个pdf与时间戳和LTV启用,以便它是这样显示在Adobe Reader: 在英语中,它意味着“签名包括嵌入的时间戳”和“签名启用了LTV”。下面是我使用的代码: 基于此答案,我需要一种方法将TSA证书的CRL获取到,但是。。如何获得TSA证书?我是否需要向TSA发出请求并读取响应,然后将其添加到?注意,这已经在。请注意,我使用的是免费的TSA服务器。 更新 因为它是一个免费的TSA服
我正试图用BouncyCastle CMS签署一份PDF文件。签名有效,但Adobe Reader告诉我它还没有准备好LTV。 据我所知,CRL嵌入在CMS SignedData中。证书也被嵌入其中。还嵌入了时间戳。 签名是一个分离的签名,放在“预留空间”。 为什么签名还没有准备好?我是不是做错了什么? 签名测试-PDF:http://www.filedropper.com/outputx 代码:
我正在使用iText 5.5.3来签署PDF文档。我需要这些文件是时间戳和LTV启用。我按照说明使用addLtv方法(代码示例5.9,Lowagie白皮书第137页)。我得到一个带有2个签名的PDF,这是正常的:第一个是我自己的签名,第二个是文档级时间戳。 但是,Acrobat告诉我我的签名启用了LTV,但时间戳签名没有: 图片来自Acrobat Pro XIhttp://img15.hostin
我想实现PDF的“并行”签名过程,这样用户就可以对文档进行数字签名,而不是“一个一个”,而是同时进行。为了实现这一点,我决定为所有用户创建初始文档的单独副本,并在其上获得签名。最终,所有签名都应该连接到单个PDF中。 让我们假设,除了签名字段创建(所有的acroForms、signatureContainers、可视签名等都是在之前创建的,并且都是类似的),在签名过程中PDF没有改变。 在进一步的