在iOS7 GM中收到SSL错误 – “AddTrust External CA Root”不受信任?
我在NSURLConnection类中突然从iOS7 GM收到SSL错误。 我无法访问我的任何API或WebView页面,并且是严重的紧急情况。
有人可以帮我吗?
错误如下:
NSURLConnection / CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)
我查了一下错误,解释如下:
errSSLNoRootCert = -9813,/ *证书链不通过根validation* /
我的域根证书(通过浏览器访问确认)是
“AddTrust External CA Root” 。
这是不太可信的,因为:
-
此根证书甚至列在“iOS5和6:受信任的根证书列表”中。 http://support.apple.com/kb/ht5012
-
这个错误从来没有出现过,直到iOS6,甚至直到iOS7 beta6。它突然出现在iOS7 GM。
-
我的浏览器告诉我这是一个可信的证书。
-
我的证书的到期date没有问题。
我想知道这是否是操作系统中的错误,或者是否需要购买不同根的证书,或者是否存在其他问题。
PS我没有代码在我的NSURLConnection处理身份validation的挑战。
尝试将中间证书添加到您的(API)Web服务器configuration中。 大多数时候,他们与你的真正的证书一起发送。
这可能是iOS知道(并信任)根证书,但是一个(或多个)中间证书(在您的实际证书和实际证书之间)是未知的。 通过添加它们,iOS可以发现证书和根证书之间的链条确实存在。
以下是其他解决方法的列表。
使用Chrome浏览器或Puffin网页浏览器。
在隐私浏览模式下使用Safari。
请参阅: https : //discussions.apple.com/thread/5327078?tstart = 0
罗伯特
不是一个解决scheme,而是一个解决方法,如果你想现在就去覆盖NSURLConnection的默认行为。 检查https://developer.apple.com/library/ios/technotes/tn2232/_index.html#//apple_ref/doc/uid/DTS40012884-CH1-SECNSURLCONNECTION
我有一个类似的问题,除了我的错误是9814 io 9813.相同的情况下,iOS6的工作正常,不再与iOS7。
我正在调用的URL是https:// ….我将其更改为http:// …似乎工作正常
不知道它会为你工作,但绝对怪异
祝你好运