旧iphone 3g上的HTTPS请求

时间:2011-02-01 09:54:37

标签: iphone https request 3g

其他任何人在使用旧iphone上的https请求时遇到问题。

从连接失败并出现错误,错误消息如下。

  

错误与连接:错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效。您可能正在连接到假装是”www.ourwesbite.co.uk“的服务器,这可能会使您的机密有风险的信息。“

“我们的网站”有一个有效的证书,这个问题也不会出现在任何新的iphone / ipod touch或ipads中,只有最老的iphone。

这会影响我的登录工作,在用户单击“确定”之后抛出连接错误,连接错误警报登录过程正常运行。但问题是它在登录后会影响用户界面。

所以非常想知道是否有其他人在使用旧款iphone时遇到类似问题。我的代码没有问题,因为它在模拟器上工作得非常好。 ipad / 4gen ipod touch。

由于

2 个答案:

答案 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];

然后,如果它感觉不受信任,则允许连接