如何指向/访问证书文件"CertCreateCertificateContext"函数?(wincr



对windows编程/C++有点陌生。我正在尝试将.p7b根证书文件安装到受信任的根证书存储。我想使用Windows Wincrypt库。具体来说,这些是我从一个旧论坛上得到的建议步骤:

  1. 使用证书内容字节调用CertCreateCertificateContext以便获得CCD_ 2
  2. szSubsystemProtocol设置为"ROOT"的情况下调用CertOpenSystemStore以获得HCERTSTORE
  3. 使用上述HCERTSTORE调用CertAddCertificateContextToStorePCCERT_CONTEXT

[这里是]CertCreateCertificateContext的api文档。不知道如何将pbCertEncoded指向我的实际证书文件。我应该把它指向小路吗?我必须加载证书吗?类型应该是什么?

根据Simon Rozman在这篇文章中的回答:我们必须使用CertOpenStore()而不是CertCreateCertificateContext(),它只支持一个证书,而PKCS#7文件可以包含多个证书。

打开证书存储后,可以使用CertEnumCertificatesInStore()从存储中检索各个证书的证书上下文。

因此,从我最初成功将p7b安装到根存储的步骤来看:

  1. 为根存储和实际证书本身调用CertOpenStore()。这将为您提供两个HCERTSTORE句柄。

  2. 只要证书上下文存在,就使用while循环将证书上下文添加到打开的根存储中(使用CertAddCertificateContextToStore()((在打开的证书存储中使用CertEnumCertificatesInStore()进行检查(。

相关内容

  • 没有找到相关文章

最新更新