1

如何使用cryptoAPIPFX 自签名证书创建持久密钥容器?

我可以通过CryptAcquireCertificatePrivateKey调用访问 PFX 中的私钥,但是如何将私钥和公钥对导入到密钥容器中?完成导入过程后,此密钥容器应永久存在于 USER 密钥存储中。

期待建议。

谢谢

4

1 回答 1

2

一种方法是导入证书以及与PFXImportCertStore相关的密钥对。

另一种方式可能对理解很有趣。您可以将获得的密钥对保存CryptAcquireCertificatePrivateKey在任何新的密钥容器中。然后你可以只导入证书(没有私钥),最后你应该将带有私钥的容器设置为证书的属性(CertSetCertificateContextProperty with CERT_KEY_PROV_INFO_PROP_ID)。

在实践中,始终使用PFXImportCertStore函数,但我建议您编写一个测试程序,使用CertEnumCertificateContextProperties并查看将与证书一起保存在证书存储中的属性,但这些属性不是证书的一部分。

于 2011-04-21T09:31:04.067 回答