我开发了一个连接到内部Web服务器的iOS应用程序.当我使用模拟器时,它工作正常,但是当我在iPhone上构建相同的应用程序时,它给出了一条错误消息“发生了ssl错误,无法建立与服务器的安全连接. “为什么错误只发生在iPhone而不是模拟器中?
这是我的环境
Xcode 8.2
iOS 10.3
目标C – 我的客户端代码默认使用ATS
AFNetworking Framework 3.1
Web服务器 – 仅支持TLS 1.2
Web Server Cert尚未支持前向保密.
可能是因为我的证书不符合ATS标准吗?
解决方法
我从Apple那里读到了这个
document
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>Your Domain</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
我的应用程序正在使用设备.我在服务器上的证书尚未准备好Forward Secrecy.