【发布时间】:2020-08-12 10:53:40
【问题描述】:
我需要获取给定证书(我收到)的颁发者证书公钥。
我读取了证书字节并能够使用CertCreateCertificateContext() 获取PCCERT_CONTEXT 作为叶证书。
PCCERT_CONTEXT->pCertInfo->SubjectPublicKeyInfo 给我叶子证书公钥,但我无法找到获取颁发者证书详细信息的方法。
【问题讨论】:
-
证书不知道其颁发者的公钥是什么。您需要构建一个链 (CertGetCertificateChain) 并使用颁发者证书。
-
CertGetCertificateChain 提供 CERT_CHAIN_CONTEXT,其中包含 CERT_TRUST_STATUS,即整体验证状态。我的问题是如何从中获得颁发者 PCCERT_CONTEXT?
-
有一个
CertGetIssuerCertificateFromStore方法。如果您有 PFX/P12,那么您可能需要将其作为商店打开,而不是作为单个证书。
标签: windows ssl cryptography certificate digital-signature