其他任何人在使用旧iphone上的https请求时遇到问题。
从连接失败并出现错误,错误消息如下。
错误与连接:错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效。您可能正在连接到假装是”www.ourwesbite.co.uk“的服务器,这可能会使您的机密有风险的信息。“
“我们的网站”有一个有效的证书,这个问题也不会出现在任何新的iphone / ipod touch或ipads中,只有最老的iphone。
这会影响我的登录工作,在用户单击“确定”之后抛出连接错误,连接错误警报登录过程正常运行。但问题是它在登录后会影响用户界面。
所以非常想知道是否有其他人在使用旧款iphone时遇到类似问题。我的代码没有问题,因为它在模拟器上工作得非常好。 ipad / 4gen ipod touch。
由于
答案 0 :(得分:8)
我们遇到此错误,并且有问题的iPhone 3g设置了错误的日期和时间。这意味着所有SSL事务都将失败。
我们认为这个iOS错误是一个苹果问题而不是我们的问题,所以黑客攻击SSL证书不是解决方案!
答案 1 :(得分:2)
好的,即使证书有效也会引发错误。因此,使用NSURLConnection的以下委托方法解决了这个问题。
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
在对身份验证提出质疑时会调用它。以下代码允许它继续使用https连接。
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
然后,如果它感觉不受信任,则允许连接