c++ - 如何在 C++ 中检索证书指纹

标签 c++ certificate

我正在开发 C++ 应用程序,我需要检查证书的指纹。

我找到了这个解决方案 check for a specific signature , 使用 CryptQueryObject()。但我仍然找不到检索指纹的方法。

在 C# 中,我可以使用方法 GetCertHashString获取哈希(这是我需要的)或使用属性 X509Certificate.Thumbprint

我知道我需要获取公钥的哈希值,但我不知道如何检索公钥..

我如何在 C++ 中做到这一点?有什么方法吗?

最佳答案

找到了如何去做。

你应该使用CryptHashCertificate

像那样:

DWORD* thumbPrintSize;
BYTE* thumbPrint;   
if (!CryptHashCertificate(0, hashAlg, 0,pCertContext->pbCertEncoded,
     pCertContext->cbCertEncoded, thumbPrint, thumbPrintSize)) {
        return false;
}

其中pCertContext是证书,hashAlg是哈希算法(通常是sha-1)

关于c++ - 如何在 C++ 中检索证书指纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123777/

相关文章:

java - 如何使用基于证书的身份验证创建Azure blob并使用java从中下载文件

c++ - 使用 SDL_WINDOW_OPENGL 标志创建窗口速度较慢

c++ - MySQL 错误 2006 : MySQL server has gone away (Got an error reading communication packets)

certificate - IBM MobileFirst 证书固定最佳实践

python - Python3 ssl 中手动验证证书

java - 如何在 Java 中检索/计算 X509 证书的指纹?

ssl - 使用 CherryPy 的 2 路 SSL

c++ - C++ 中 for 循环迭代语句期间范围内的变量

c++ - 在嵌入式 Linux 上使用 C++ Std Lib 时出现异常段错误

c++ - 如果无效,如何重复用户输入的电子邮件