首页 > 解决方案 > 如何在 C++ 中使用 CryptoAPI 解密私钥并导出解密

问题描述

我们在 C++ 中使用 GRPC,它请求 pem 编码的证书链和私钥。但是,此私钥不得受密码保护(因为它不支持它)。然而,我们的产品历史上允许使用可以包含加密私钥的 PFX。我想出了一种方法,如何使用函数链将私钥从 PFX 导出到 PEM

PFXImportCertStore
CertEnumCertificatesInStore
CryptAcquireCertificatePrivateKey
CryptGetUserKey
CryptExportKey
CryptEncodeObjectEx
CryptBinaryToStringA

但据我了解,这将返回一个 PEM,其中私钥受密码保护,我无法使用(如果 pfx 包含受密码保护的私钥)。我需要删除密码保护。

谢谢

标签: c++cryptographycryptoapi

解决方案


推荐阅读