【问题标题】:Objective-C SSL issue: CFNetwork SSLHandshake failed (-9847)Objective-C SSL 问题:CFNetwork SSLHandshake 失败 (-9847)
【发布时间】: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


【解决方案1】:

我使用的 SSL 端口不正确,需要使用 443。

【讨论】:

    猜你喜欢
    • 2015-07-29
    • 2016-02-11
    • 2015-08-23
    • 2015-09-21
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    相关资源
    最近更新 更多