【发布时间】:2015-11-03 14:56:01
【问题描述】:
我们有一个使用第三方框架进行身份验证的自定义移动应用程序。该框架将连接到在 tomcat 上运行的基于 Web 的服务器。此服务器受 TSL 1.2 证书保护。如果我在没有 SSL 的情况下连接,则连接成功。我收到的错误消息如下。
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>
除此之外,我还尝试通过替换上面的 sn-p 来绕过新的 IOS 证书标准。但是结果是一样的
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything (this is probably BAD)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
证书是自签名的,用户通过MicroStrategyWeb访问时不需要交互。
【问题讨论】:
-
我也收到“CFNetwork SSLHandshake failed (-9824)”错误。你找到解决办法了吗?
-
您好,我也遇到了这个错误。并尝试了这个解决方案,但没有得到任何解决方案,所以你能建议我一些其他的方法吗?
-
嗨。我收到此错误,您有任何解决方案吗?请给我建议。
标签: ios objective-c ssl