2

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

我实际上正在寻找与 Windows CryptHashCertificate() 等效的方法。

示例代码将不胜感激。

4

1 回答 1

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);
于 2013-07-22T09:14:56.820 回答