【问题标题】:Explore a bouncy castle store object探索充气城堡商店对象
【发布时间】:2015-01-14 16:22:01
【问题描述】:

我的问题与Bouncy Castle i cannot get all certificate密切相关。

我使用 BC 代码 https://www.bouncycastle.org/docs/pkixdocs1.4/org/bouncycastle/cms/CMSSignedData.html 有一些变化。

  Store                   certStore = s.getCertificates();
  SignerInformationStore  signers = s.getSignerInfos();
  Collection              c = signers.getSigners();
  Iterator                it = c.iterator();

  while (it.hasNext())
  {
      SignerInformation   signer = (SignerInformation)it.next();
      Collection          certCollection = certStore.getMatches(signer.getSID());

      Iterator              certIt = certCollection.iterator();
      X509CertificateHolder cert = (X509CertificateHolder)certIt.next();

      if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(cert)))
      {
          verified++;
      }   
  }

我的目的是从 "certStore" 中提取所有证书(签名者 + 颁发者),并根据特定的密钥库验证它们。

但是要从certStore中提取证书,只有“certStore.getMatches”。

签名者显然只提取签名者并在“certStore.getMatches”中使用仅提取签名者的证书(一个或多个)。

我必须控制每个证书、他的 CRL、他的日期,而不仅仅是签名者。

【问题讨论】:

    标签: java cryptography bouncycastle


    【解决方案1】:

    获取allcertificate的第一步是使用空选择器

     ArrayList<X509CertificateHolder> listCertDatFirm = new ArrayList(store.getMatches(null));
    

    那么你就有了一组证书;递归循环你可以重建正确的链。

    【讨论】:

      猜你喜欢
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      相关资源
      最近更新 更多