我正在开发一个C++应用程序,我需要检查证书的指纹.
我发现此解决方案使用CryptQueryObject()检查特定签名.但我仍然找不到检索Thumprint的方法.
在C#中,我可以使用方法GetCertHashString来获取哈希(这是我需要的)或使用属性X509Certificate.Thumbprint
我知道我需要获取公钥的哈希值,但我不知道如何检索公钥.
我怎么用C++做到这一点?有没有办法呢?
找到了怎么做.
你应该使用CryptHashCertificate
像那样:
DWORD* thumbPrintSize;
BYTE* thumbPrint;
if (!CryptHashCertificate(0, hashAlg, 0,pCertContext->pbCertEncoded,
pCertContext->cbCertEncoded, thumbPrint, thumbPrintSize)) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
其中pCertContext是证书,hashAlg是散列算法(通常是sha-1)
| 归档时间: |
|
| 查看次数: |
3848 次 |
| 最近记录: |