ios - CoreDova APP 中的 SURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9824)

标签 ios ajax ios8.1

在我们的一个 iOS 应用程序中,将 iOS 设备升级到 iOS8.1 后出现 SSL 错误。任何人都可以帮助我,iOS8 和 iOS8.1 之间有什么区别,ssl 证书有关吗? iOS8.1服务器端需要添加什么证书?

这是来自控制台的日志:

:CFNetwork SSL 握手失败 (-9824) : NSURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9824)

最佳答案

您正在使用不受信任的证书连接到站点。 关于错误代码:

其错误域kCFStreamErrorDomainSSL并按照CFStream doc属于该域的错误代码可以在 SecureTransport.h 中找到文件。 根据此文件 -9824 是

errSSLPeerHandshakeFail     = -9824,    /* handshake failure */

解决方案是从已知的证书颁发机构获取证书,或将该证书添加到钥匙串(keychain)中的受信任证书列表中。

每当您尝试使用不受信任的证书连接到站点时,都会调用以下 API 来对此不受信任的证书做出决定。您很可能需要实现此 NSURLConnectionDelegate method

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge

在此方法中,您可以调用以下命令来调查证书。

SecTrustRef trust = [[challenge protectionSpace] serverTrust];
SecCertificateRef leafCert = SecTrustGetCertificateAtIndex(trust, 0);

关于ios - CoreDova APP 中的 SURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9824),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603535/

相关文章:

iphone - 剪切/复制/粘贴功能在我的 iOS 应用程序中停止工作

iphone - 如何在iOS 6.0中进行文本对齐?

javascript - 如何从php循环获取值到div

dictionary - 带有字典的 iOS 8.1 上的 EXC_BAD_ACCESS

c++ - 如何在不在 .h 文件中制作原型(prototype)的情况下将 Objective-C++ 类公开给 swift

ios - Swift 单例或全局变量 - 或者其他什么?

ajax - 你能更新一个 h :outputLabel from a p:ajax listener?

javascript - javascript 函数中出现错误 - "chartobject-1.render() Error >> Unable to find the container DOM element."

ios - 更改方向更改背景失败

ios - 禁止 UITableViewcontroller 横向旋转(保持纵向)