ash*_*ina 5 ssl nsurlconnection ios ios7
我在 NSURLConnection 类中收到 SSL 错误,突然来自 iOS7 GM。我无法访问我的任何 API 或 webView 页面,这是一个严重的紧急情况。
有人可以帮我吗?
错误如下:
NSURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9813)
我查了一下错误,解释如下:
errSSLNoRootCert = -9813, /* 证书链未经 root 验证 */
我的域的根证书(通过浏览器访问确认)是
“添加信任外部 CA 根”。
这不太可能不受信任,因为:
此根证书甚至列在“iOS5 和 6:受信任的根证书列表”中。 http://support.apple.com/kb/ht5012
这个错误在iOS6之前从来没有出现过,甚至直到iOS7 beta 6。它突然出现在iOS7 GM中。
我的浏览器告诉我这是一个受信任的证书。
我的证书的有效期没有问题。
我想知道这是否是操作系统中的错误,或者我是否必须购买不同根的证书,或者问题是否出在其他地方。
PS 我的 NSURLConnection 周围没有用于处理身份验证挑战的代码。
尝试将中间证书添加到您的(API 的)Web 服务器配置中。大多数情况下,它们会与您的真实证书一起发送。
iOS 可能知道(并信任)根证书,但不知道一个(或多个)中间证书(位于您的实际证书和真实证书之间)。通过添加它们,iOS 可以确定您的证书和根证书之间的链确实存在。