0
我们有一个使用第三方框架进行身份验证的自定义移动应用程序。该框架将连接到运行在tomcat上的基于Web的服务器。该服务器受TSL 1.2证书保护。如果我没有SSL连接,连接成功。我收到的错误消息如下。Objective-C SSL问题:CFNetwork SSLHandshake失败(-9847)
CFNetwork SSLHandshake failed (-9847)
我认为这个错误信息意味着它解析到服务器,但无法完成SSL握手。
在Info.plist我配置了以下内容。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yoursite.here.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow insecure HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
除此之外,我试图通过替换上面的代码片段绕过新的IOS标准的证书。但是结果是一样的
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything (this is probably BAD)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
证书是自签名的,并且当用户通过MicroStrategy
Web访问并不需要互动。
我也得到了需要“CFNetwork的SSLHandshake失败(-9824)”错误太多。你有没有找到任何解决方案? – Inuyasha
嗨我也得到这个错误。并尝试过这种解决方案,但没有得到任何解决方案,所以你可以给我一些其他方法。 –