我有连接到 SSL SOAP 服务的应用程序。对于 iOS 9.3.5,应用程序运行良好。在 iOS 10 中,我有错误代码 -9801
。我想这是连接到 Apple ATS 的。站点证书配置为 TLS 1.0
(但我无法管理证书配置)。
我该如何解决这个问题?我想我必须将它作为异常(exception)添加到 .plist
文件中。
我还检查了 www.ssllabs.com对于 Apple ATS 9/iOS 9 R
部分,它给出了错误:
Protocol or cipher suite mismatch
但在 iOS 9 上它可以工作。
编辑:
我将域添加到 ATS 异常(在 info.plist
中)但错误仍然存在
NSAppTransportSecurity NSAllowsArbitraryLoads
在您的 info.plist
中添加此键 - 值,这意味着它将允许所有类型的加载。如果您有特定域,则应在 info.plist
中添加该特定域。
更新:
如果您需要安全连接,那么您应该像这样管理您的info.plist
,
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
或者你应该使用集成了 ssl
的网络服务!
我是一名优秀的程序员,十分优秀!