【发布时间】:2011-12-13 17:35:26
【问题描述】:
我想检查-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 收到的 SSL 证书,我有以下 sn-p,它提供了颁发者公用名和 DER。
SecTrustRef trustRef = [[challenge protectionSpace] serverTrust];
SecTrustEvaluate(trustRef, NULL);
CFIndex count = SecTrustGetCertificateCount(trustRef);
for (CFIndex i = 0; i < count; i++)
{
SecCertificateRef certRef = SecTrustGetCertificateAtIndex(trustRef, i);
CFStringRef certSummary = SecCertificateCopySubjectSummary(certRef);
CFDataRef certData = SecCertificateCopyData(certRef);
}
另外我想获取指纹和签名。 我的 SSL 知识没有那么深。我可以从 DER 表示中提取上述内容吗?
【问题讨论】:
-
我很惊讶他们没有提供使用 DER 表示的工具(另见“ASN.1”和“X.509”),因为如果你不这样做,它真的很复杂定期这样做。
-
我惊讶地发现这些重要信息无法通过 Cocoa 获得,我不得不“深入”并使用 CF……我会看看我能从 DER 中提取什么;复杂与否,它必须完成......
标签: ios ssl certificate signature fingerprint