我将从iOS8切换到iOS9和AFNetworking web服务调用,调用HTTPS之前不再工作。我得到了error -1200和error -9824,这个问题与使用自签名证书有关。
错误Domain=kCFErrorDomainCFNetwork代码=-1200“发生了一个SSL错误,无法建立到服务器的安全连接。_kCFNetworkCFStreamSSLErrorOriginalValue=-9824,UserInfo={NSErrorFailingURLStringKey=server url,您想要连接到服务器的NSLocalizedRecoverySuggestion=Would?
我看到了这个相关的问题:IOS9 SSL error with NSURLSession,有了下面的答案,但是,答案是神秘的,并且没有真正告诉我如何解决这个问题。
ATS只信任由知名CA签名的证书,其他所有证书都将被拒绝。因此,使用自签名证书的唯一解决方案是使用NSExceptionDomains设置异常。
更新AFNetworking调用以在iOS9上使用HTTPS的正确方法是什么?
在过去,我使用了许多解决方案,包括一种响应NSURLAuthenticationChallenge的方法,但是我正在寻找更明确的方法。
发布于 2015-09-17 17:34:15
iOS 9强制使用HTTPS为TLS1.2的连接,以避免最近的漏洞。在iOS 8中,甚至支持未加密的HTTP连接,因此旧版本的TLS也不会出现任何问题。作为解决办法,您可以将此代码片段添加到Info.plist中:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict> 因此,您将禁用。希望这能帮上忙。
下面是一个潜在的解决方案,(但在上面的情况下仍然不起作用) How can I add NSAppTransportSecurity to my info.plist file?
发布于 2015-09-26 18:07:52
允许无效SSL证书
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.securityPolicy.allowInvalidCertificates = YES; // not recommended for productionhttps://stackoverflow.com/questions/32634986
复制相似问题