散列证书的内容

时间:2013-04-08 13:38:37

标签: macos encryption

如何散列证书的整个编码内容,包括coreFoundation中的签名?

我实际上在寻找Windows CryptHashCertificate()的等价物。

示例代码将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果有人发现这个有用的话,我会发布答案......

我设法通过搜索钥匙串中的证书然后将搜索项目转换为SecCertificateRef来匹配Windows功能的结果:

// certItem is of SecKeychainItemRef 


CSSM_DATA certData;
unsigned char checksumResult[CC_MD5_DIGEST_LENGTH] = {0};
SecCertificateRef certRef = (SecCertificateRef) certItem;

SecCertificateGetData(certRef, &certData);
memset(checksumResult, 0, CC_MD5_DIGEST_LENGTH);
CC_MD5(certData.Data, certData.Length, checksumResult);