iOS 仅使用 https 进行通信的应用程序和 Apple 传输安全影响
iOS app communicating with https only and Apple Transport Security Impact
我的问题与 Apple 传输安全 (ATS) 有关,它对我的配置有影响。如果我不遵守它会发生什么,我感到很困惑。
我有一个 iOS 应用程序,它与服务器通信,还有一个 API 只强制执行 https
连接,但同时我有 TLS1.0 和 SHA256 和在我的配置中没有启用前向保密的密码套件。
如果我接着通过以下方式绕过 ATS:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
ATS 文档中让我感到困惑的是:
Disabling ATS allows connection regardless of HTTP or HTTPS configuration, allows connection to servers with lower TLS versions, and allows connection using cipher suites that do not support forward secrecy (FS).
这是否意味着我的应用程序和我的服务器仍将继续通过 https
进行通信而没有副作用?即 连接不会仅仅因为我的服务器总是执行 https
但目前不符合 ATS 而失败。
换句话说,我是否必须立即升级我的服务器以支持 TLS1.2、前向保密和其他 ATS 要求?假设我要使用 iOS 9 和最新的 XCode.
更新我的应用程序
另一方面,我明白我应该采用ATS,但目前时间和资源有限
您不必立即升级您的服务器。您也不必完全关闭 ATS。
相反,您可以通过 info.plist:
中的类似内容告诉 ATS 您的服务器使用 TLSv1 并且不支持 FS
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>your.servers.domain.here</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
</dict>
</dict>
</dict>
nscurl --ats-diagnostics --verbose $YOUR_API_URL
将帮助您弄清楚您真正需要指定什么才能与您的服务器通信。
我的问题与 Apple 传输安全 (ATS) 有关,它对我的配置有影响。如果我不遵守它会发生什么,我感到很困惑。
我有一个 iOS 应用程序,它与服务器通信,还有一个 API 只强制执行 https
连接,但同时我有 TLS1.0 和 SHA256 和在我的配置中没有启用前向保密的密码套件。
如果我接着通过以下方式绕过 ATS:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
ATS 文档中让我感到困惑的是:
Disabling ATS allows connection regardless of HTTP or HTTPS configuration, allows connection to servers with lower TLS versions, and allows connection using cipher suites that do not support forward secrecy (FS).
这是否意味着我的应用程序和我的服务器仍将继续通过 https
进行通信而没有副作用?即 连接不会仅仅因为我的服务器总是执行 https
但目前不符合 ATS 而失败。
换句话说,我是否必须立即升级我的服务器以支持 TLS1.2、前向保密和其他 ATS 要求?假设我要使用 iOS 9 和最新的 XCode.
更新我的应用程序另一方面,我明白我应该采用ATS,但目前时间和资源有限
您不必立即升级您的服务器。您也不必完全关闭 ATS。
相反,您可以通过 info.plist:
中的类似内容告诉 ATS 您的服务器使用 TLSv1 并且不支持 FS<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>your.servers.domain.here</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
</dict>
</dict>
</dict>
nscurl --ats-diagnostics --verbose $YOUR_API_URL
将帮助您弄清楚您真正需要指定什么才能与您的服务器通信。