iLe*_*ner 6 security ssl-certificate ios4 ios ios5
我想检查天气,URL中存在SSL cetificate也想检查其版本和验证类型.
我创建了一个应用程序,我调用NSURLConnection委托方法通过服务器发送请求.
还使用了"canAuthenticateAgainstProtectionSpace"方法,但是一旦建立连接就不会调用此方法.
任何人都可以告诉我如何实现这一目标.
iOS不会为您提供非常精细的证书信息访问权限.您有两种选择:私有API或使用OpenSSL构建您自己的评估程序.
您可以在开源代码中看到私有证书功能.该版本可从SecCertificateVersion()
.我不确定你的"验证类型"是什么意思.
要使用OpenSSL执行此操作,您可以获取DER数据,SecCertificateCopyData()
然后自己解析所有内容.
我建议在这个问题上开一个雷达(bugreporter.apple.com).无法访问有关证书的基本信息是一个严重的问题.
如果你正在寻找它可以提取该证书的示例代码NSURLConnection
,请参见第11章的示例代码从iOS设备上:PTL:
- (void)connection:(NSURLConnection *)connection
willSendRequestForAuthenticationChallenge:
(NSURLAuthenticationChallenge *)challenge
{
NSURLProtectionSpace *protSpace = challenge.protectionSpace;
SecTrustRef trust = protSpace.serverTrust;
...
SecCertificateRef cert = SecTrustGetCertificateAtIndex(trust, 0);
...
Run Code Online (Sandbox Code Playgroud)
在这一点上,cert
持有你的叶子证书.
归档时间: |
|
查看次数: |
17610 次 |
最近记录: |