旧iphone上的HTTPS请求3g
问题描述:
任何其他人在获取旧iphone上的https请求时遇到问题。旧iphone上的HTTPS请求3g
从连接确实失败,错误消息如下。
误差theConnection:错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效,您可能正在连接到一个伪装成一台服务器。‘www.ourwesbite.co.uk’这可能把你的机密信息置于危险之中。“
的“ourwebsite”有一个有效的证书,也没有任何新的iPhone/iPod touch或登记,只是最古老的iPhone会出现这个问题。
这会影响我的登录工作,通过在用户单击确定连接错误后抛出连接错误,提醒登录进程正常运行。但问题是它在登录后影响UI。
所以非常想知道是否有其他人有这样的问题与旧的iPhone。我的代码没有问题,因为它可以在模拟器& ipad/4gen ipod touch上正常工作。
谢谢
答
好,所以即使证书是有效的,它会抛出错误。所以使用NSURLConnection的下面的委托方法解决了这个问题。
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
当对认证有挑战时,它被调用。以下代码允许它继续使用https连接。
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
然后允许通过,如果它认为它是不可信
答
我们有这个错误和iPhone 3G在问题有一个不正确的日期和时间设置连接。这意味着所有的SSL交易都会失败。
我们认为这个iOS错误是一个苹果问题,不是我们的,所以黑客要忽略SSL证书不是解决方案!
什么iOS版iPhone 3G正在运行?你在执行异步NSURLConnection吗? – fsaint 2011-02-01 10:03:05