kor*_*gan 4 iphone ssl nsurlconnection cfnetwork ios
我希望能够获得ssl证书(如果可能的话,+链),以便能够显示专有名称并确定它是否是EV证书.(通过证书政策检测EV证书(维基百科)
根据我所看到的情况,如果证书是自签名的,您只会获得一些证书详细信息.
是否可以使用像CFNetwork这样的较低层来检索证书?
通过macnetworkprog.lists.apple.com邮件列表 http://web.archiveorange.com/archive/v/x0fiWEI9emJFc36DY0UP并在开发者论坛中提到了一些地方
好吧,默认的TLS安全策略应该足够了,但是如果你想参与这个过程,你可以通过实现
-connection:canAuthenticateAgainstProtectionSpace:和-connection:didReceiveAuthenticationChallenge:委托回调来寻找一个NSURLAuthenticationMethodServerTrust认证(在iPhone OS 3.0及更高版本和Mac OS X 10.6上). 方法.
去做这个:
实现-connection:canAuthenticateAgainstProtectionSpace:委托回调.
在您的实现中,如果保护空间的身份验证方法是NSURLAuthenticationMethodServerTrust,您有两个选择:
2A.返回NO,让默认的TLS算法启动.
2B.返回YES,在这种情况下-connection:didReceiveAuthenticationChallenge:将调用您的委托回调.
如果要在做出决定之前查看证书,可以调用-serverTrust保护空间对象以获取信任对象,然后使用SecTrust API获取证书链.
如果您采用路径2b,-connection:didReceiveAuthenticationChallenge:将调用您的委托回调.你有两个选择:
3A.通过呼叫-cancelAuthenticationChallenge:质询的发件人来禁止连接.
3B.通过呼叫-useCredential:forAuthenticationChallenge:质询的发件人来允许连接.要获得凭证,请致电-[NSURLCredential initWithTrust:].在这里传递的信任对象实际上并不重要; 来自保护空间的那个会做.
您不必同步执行此操作.您可以锁定挑战并从代理回调中返回,然后在将来的某个时刻解决挑战.
| 归档时间: |
|
| 查看次数: |
6659 次 |
| 最近记录: |