用于验证Java中PKCS#7签名的信息

时间:2017-11-19 18:53:32

标签: java digital-signature bouncycastle pkcs#7

我有2个文件:PKCS#7签名和一个已由此签名签名的文件。我的问题是如何正确验证此签名?我应该使用哪些数据并从PKCS7中提取以便这样做?我听说行动的顺序如下:

  1. 检查证书是否过期
  2. 检查CA是否已过期
  3. 检查此公钥是否仍然有效
  4. 也许从PKCS7文件中的属性中提取哈希值,并检查是否与已签名的哈希文件相等
  5. 我说错了吗?我怎么能用Bouncy Castle做到这一点?我已经遇到过这个

    CMSSignedData data = new CMSSignedData(bytesArray)
    

    但如果有的话,如何只使用一种方法检查有效性?这看起来过于复杂 - 我应该拿走每个证书,检查它的过期日期,编写自己的定制方法..并以某种方式检查公钥是否仍然有效..是否可以更容易?

1 个答案:

答案 0 :(得分:0)

https://docs.oracle.com/javase/tutorial/security/apisign/versig.html

你可以在这里找到一个非常好的一步一步的描述。虽然这不是使用Bouncy Castel而是