【发布时间】:2015-12-15 19:17:35
【问题描述】:
iOS9 为 info.plist 提供了新设置,称为 NSAppTransportSecurity。到目前为止,我一直无法找到允许我连接到我的 https Web 服务的配置。作为一种解决方法,我的 plist 中有以下行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我试图了解 NSAppTransportSecurity 的实际含义或作用。我在看at this technical note by Apple,还不太清楚:
所有使用 NSURLConnection、CFURL 或 NSURLSession API 的连接 在为 iOS 9.0 构建的应用中使用应用传输安全默认行为 或更高版本,以及 OS X 10.11 或更高版本。不遵循的连接 要求将失败。
NSAppTransportSecurity 只是一种配置安全措施,会阻止低于 1.2 的 TLS,还是它实际上对 Web 连接应用了某种特殊的传输安全性?
- 选择退出使用 NSAllowsArbitraryLoads 是否会禁用所有形式的 https 通信?
- 或者服务器是否仍然建立 https/ssl/tls 通信,除非没有苹果监督?
- 此要求是否适用于在 iOS9 上运行或以 iOS9 作为最低部署目标的所有应用?
【问题讨论】:
标签: ssl https ios9 tls1.2 nsapptransportsecurity