"发生了ssl错误,无法与服务器建立安全连接"仅在手机上连接到Internal Development Server

Mic*_*lle 7 ios app-transport-security

我开发了一个连接到内部Web服务器的iOS应用程序.当我使用模拟器时,它工作正常,但是当我在iPhone上构建相同的应用程序时,它给出了一条错误消息"发生了ssl错误,无法与服务器建立安全连接."为什么错误只发生在iPhone而不是模拟器中?

这是我的环境Xcode 8.2 iOS 10.3目标C - 我的客户端代码默认使用ATS AFNetworking Framework 3.1 Web服务器 - 仅支持TLS 1.2 Web服务器证书尚不支持前向保密.

可能是因为我的证书不符合ATS标准吗?

Mic*_*lle 6

从Apple 阅读本文档

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>Your Domain</key>   
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>                
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)

我的应用程序正在使用设备.我在服务器上的证书尚未准备好Forward Secrecy.

  • 还应该注意的是,Apple不会要求对此ATS例外提出理由,因为前向保密例外并不需要Apple明确说明理由.也就是说,如果您可以在提交给Apple之前删除该异常,那将是理想的. (2认同)
  • 非常好.尽可能少的ATS例外仍是最佳做法.它并不能保证您的安全,但它可以防止未来的开发人员在不受信任的网络上做无意中暴露数据的事情. (2认同)