tca*_*005 8 iphone objective-c ios
我正在尝试在iOS应用程序中验证服务器证书.
我遇到问题的委托方法是:
- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
Run Code Online (Sandbox Code Playgroud)
当我使用诸如" https://twitter.com "之类的服务器时,会调用此方法.
但是,当我将它指向我的生产服务器(政府CA)时,此方法根本不会被调用.
我想这个证书可以被认为是自签名证书,因为如果你没有安装gov证书,你会在浏览器中看到"此连接不受信任"的消息.
有没有办法强制调用willSendRequestForAuthenticationChallenge并检查自签名证书?
谢谢!
这个问题刚才被提出过,但我想我会给将来的人一个答案.
据我所知,身份验证挑战每10分钟每个主机只调用一次.挑战的结果是缓存性能.缓存将在10分钟后到期.(http://en.wikipedia.org/wiki/Transport_Layer_Security#Resumed_TLS_handshake)
jblack在这里给出了很好的见解,他提到了Apple论坛:如何使用NSURLConnection取消持久连接?
当我遇到类似的问题和问题时,让我感到困惑的是我在应用程序中使用了相同的主机进行多项操作,因此在我的NSURLConnection被解雇之前,其他地方已经接受了挑战,但尚未过期,因此我从未得到过挑战(没有必要).
尝试将主机隔离到这一个请求,然后你应该得到回调.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |