Macos 散列证书的内容

Macos 散列证书的内容,macos,encryption,Macos,Encryption,如何散列证书的整个编码内容,包括coreFoundation中的签名 实际上,我正在寻找一个与Windows CryptHashCertificate()等效的证书 示例代码将不胜感激。我正在发布答案,以防有人发现这很有用 我通过在密钥链中搜索证书,然后将搜索项强制转换为SecCertificateRef,成功地匹配了Windows函数的结果: // certItem is of SecKeychainItemRef CSSM_DATA certData; unsigned char ch

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

实际上,我正在寻找一个与Windows CryptHashCertificate()等效的证书


示例代码将不胜感激。

我正在发布答案,以防有人发现这很有用

我通过在密钥链中搜索证书,然后将搜索项强制转换为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);

除了10.7中不推荐使用的
SecCertificateGetData()
。你知道官方的做法吗?