0

iOS9 为 info.plist 提供了新设置,称为 NSAppTransportSecurity。到目前为止,我一直无法找到允许我连接到我的 https Web 服务的配置。作为一种解决方法,我的 plist 中有以下行:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

我试图了解 NSAppTransportSecurity 的实际含义或作用。我正在查看Apple 的这份技术说明,但不是很清楚:

所有使用 NSURLConnection、CFURL 或 NSURLSession API 的连接都使用 为 iOS 9.0 或更高版本以及 OS X 10.11 或更高版本构建的应用程序中的应用传输安全默认行为。不符合要求的连接将失败。

NSAppTransportSecurity 只是一种配置安全措施,它会阻止低于 1.2 的 TLS,还是它实际上对 Web 连接应用了某种特殊的传输安全性?

  • 选择退出使用 NSAllowsArbitraryLoads 是否会禁用所有形式的 https 通信?
  • 或者服务器是否仍然建立 https/ssl/tls 通信,除非没有苹果监督?
  • 此要求是否适用于在 iOS9 上运行或将 iOS9 作为最低部署目标的所有应用程序?
4

1 回答 1

2

选择退出使用 NSAllowsArbitraryLoads不会禁用 https。它只会停止阻止不安全的连接,例如 TLS 小于 1.2 的 http 和 https

您必须在 iOS9 上运行的所有应用程序中处理此问题

于 2015-10-08T14:56:32.440 回答