Validation 如何使用iText为PAdES签名时间戳嵌入CRL/OCSP撤销信息?

Validation 如何使用iText为PAdES签名时间戳嵌入CRL/OCSP撤销信息?,validation,timestamp,itext,signature,Validation,Timestamp,Itext,Signature,这个问题与我的工作有关 由于我想完全验证添加到PAdES签名(过期和撤销)中的时间戳,我还需要将crl文件或创建时间戳时捕获的TSA证书的ocsp响应添加到签名中 据我所知,iText 5.4.1似乎没有提供此功能。 特别是通过 com.itextpdf.text.pdf.security.TSAClientBouncyCastle,以及 com.itextpdf.text.pdf.security.MakeSignature 我遗漏了什么吗 提前感谢您的帮助 Bertrand关于CRL,您

这个问题与我的工作有关

由于我想完全验证添加到PAdES签名(过期和撤销)中的时间戳,我还需要将crl文件或创建时间戳时捕获的TSA证书的ocsp响应添加到签名中

据我所知,iText 5.4.1似乎没有提供此功能。 特别是通过

  • com.itextpdf.text.pdf.security.TSAClientBouncyCastle,以及
  • com.itextpdf.text.pdf.security.MakeSignature
我遗漏了什么吗

提前感谢您的帮助


Bertrand

关于CRL,您可以向传递给MakeSignature的CrlList中添加一个CrlClient,用于获取TSA证书的CRL


关于OCSP的回应:你是对的。除了创建文档级时间戳之外,我们似乎没有办法做到这一点。

关于CRL,您可以添加一个CRL客户端,将TSA证书的CRL获取到传递给MakeSignature的CrlList


关于OCSP的回应:你是对的。除了创建文档级时间戳之外,我们似乎没有办法做到这一点。

感谢Bruno的澄清。。。那么,您的意思是,一旦我们添加了DSS和文档级时间戳,就不再需要验证嵌入在签名中的CRL或OCSP响应,也不需要验证签名中涉及的证书链,因为它们也将添加到DSS中。因此,DSS和文档级时间戳验证足以验证签名的完整性和签名的有效性?DSS是一种添加更近期验证相关信息的方法,如CRL、OCSP等,。。。用于签名证书和时间戳证书的证书链中的所有证书。这与说“该信息足以验证签名的有效性”不同。您需要先检查最新的DSS,然后检查之前的DSS,等等。。。最后检查CRL、OCSP,。。。在签名里面。简言之:你需要检查所有这些。(参见PAdES-4中的定义。)在PAdES-4(ETSI TS 102 778-4 V1.1.2)中,验证签名的组件是1)DSS中VRI组件中引用的验证数据。2) DSS中引用的验证数据。3) 签名中嵌入的验证数据(如OCSP数据,见第2部分[i.4],第4.4条)。4) 中引用的验证数据来自本地存储库。5) 从联机源检索中引用的验证数据。那么,如果我们通过DSS和文档级时间戳在第4部分中添加和验证OSCP和CRL,那么在第2部分中添加和验证OSCP和CRL的目的是什么?这对我来说似乎是多余的。假设我需要签署一份向你承诺的文件。在这种情况下,我可能有兴趣省略OSCP和CRL信息,这样我就可以在以后声明“我没有签名,这是伪造的。”这就是为什么在收到文档时添加DSS+文档级时间戳的原因。如果您所有的证书都经过验证,您就可以确定该文档是正确的。我希望这个简单的例子证明它并不总是多余的。我完全理解这个用例。。。但是,如果同时执行所有这些操作,我们是否必须添加OCSP和CRL信息(第2部分)并在DSS(第4部分)中再次添加相同的信息?在这种特定情况下,添加DSS和文档级时间戳是否足够?抱歉,我有点困惑,根据用例,我应该在何时何地添加和验证哪些信息(签名和文档完整性、证书过期和吊销、LTV验证)。我很想看到这个主题被添加到你们写得很好的白皮书“PDF文档的数字签名”中。感谢布鲁诺的澄清。。。那么,您的意思是,一旦我们添加了DSS和文档级时间戳,就不再需要验证嵌入在签名中的CRL或OCSP响应,也不需要验证签名中涉及的证书链,因为它们也将添加到DSS中。因此,DSS和文档级时间戳验证足以验证签名的完整性和签名的有效性?DSS是一种添加更近期验证相关信息的方法,如CRL、OCSP等,。。。用于签名证书和时间戳证书的证书链中的所有证书。这与说“该信息足以验证签名的有效性”不同。您需要先检查最新的DSS,然后检查之前的DSS,等等。。。最后检查CRL、OCSP,。。。在签名里面。简言之:你需要检查所有这些。(参见PAdES-4中的定义。)在PAdES-4(ETSI TS 102 778-4 V1.1.2)中,验证签名的组件是1)DSS中VRI组件中引用的验证数据。2) DSS中引用的验证数据。3) 签名中嵌入的验证数据(如OCSP数据,见第2部分[i.4],第4.4条)。4) 中引用的验证数据来自本地存储库。5) 从联机源检索中引用的验证数据。那么,如果我们通过DSS和文档级时间戳在第4部分中添加和验证OSCP和CRL,那么在第2部分中添加和验证OSCP和CRL的目的是什么?这对我来说似乎是多余的。假设我需要签署一份向你承诺的文件。在这种情况下,我可能有兴趣省略OSCP和CRL信息,这样我就可以在以后声明“我没有签名,这是伪造的。”这就是为什么在收到文档时添加DSS+文档级时间戳的原因。如果您所有的证书都经过验证,您就可以确定该文档是正确的。我希望这个简单的例子证明它并不总是多余的。我完全理解这个用例。。。但是,如果同时执行所有这些操作,我们是否必须添加OCSP和CRL信息(第2部分)并在DSS(第4部分)中再次添加相同的信息?在这种特定情况下,添加DSS和文档级时间戳是否足够?对不起,我有点不知道何时何地