iOS9 NSAppTransportSecurity实际上与https流量有关的含义是什么?
问题描述:
iOS9对info.plist有一个新的设置,名为NSAppTransportSecurity。到目前为止,我一直无法找到允许我连接到我的https web服务的配置。作为一种变通方法,我在我的plist以下行:iOS9 NSAppTransportSecurity实际上与https流量有关的含义是什么?
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我想了解NSAppTransportSecurity实际上意味着或做。我期待at this technical note by Apple,这不是很清楚:
使用NSURLConnection的,CFURL,或为iOS 9.0 或更高版本创建的应用程序NSURLSession的API 使用应用程序传输安全默认行为,和OS所有连接X 10.11或更高版本。不符合 要求的连接将失败。
是NSAppTransportSecurity只是一个配置的保障,这将阻止TLS小于1.2,或者它实际上适用于一些特殊的运输保障,以网络连接?
- 选择使用NSAllowsArbitraryLoads是否禁用所有形式的https通信?
- 还是服务器仍然建立https/ssl/tls通信,除非没有苹果监督?
- 应用此要求的所有应用程序,运行上iOS9或有iOS9作为最小的部署目标?
答
选择使用NSAllowsArbitraryLoads 将不会禁用https。它只是停止阻止不安全的连接,如http和https与TLS小于1.2
您必须在iOS9上运行的所有应用程序中处理此问题