我的问题与苹果传输安全(ATS)有关,它对我的配置有影响。我搞不懂如果我不遵守它会发生什么。
我有一个iOS应用程序,它与服务器和API通信,它只执行https连接,但同时,在配置上没有启用前向保密功能的SHA256和密码套件具有TLS1.0。
如果我然后通过以下方式绕过安非他明类兴奋剂:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>安非他明类兴奋剂文件中令我困惑的是:
禁用ATS允许连接,而不管HTTP或HTTPS配置如何,允许连接到具有较低TLS版本的服务器,并允许使用不支持前向保密(FS)的密码套件进行连接。
这是否意味着我的应用程序和我的服务器仍将继续通过https进行通信而不会产生副作用?也就是说,连接不会因为我的服务器总是强制执行https ,但目前不遵从ATS而失败。
换句话说,我是否必须立即升级我的服务器以支持TLS1.2,并提供前向保密和其他ATS要求?假设我要用iOS 9和最新的XCode对我的应用程序进行更新。
另一方面,我知道我应该采用ATS,但目前的时间和资源是有限的。
发布于 2016-02-03 16:57:55
您不必立即升级您的服务器。你也不必完全关闭ATS。
相反,您可以告诉ATS,您的服务器使用TLSv1,并且在info.plist中不支持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将帮助您了解您真正需要指定什么才能与您的服务器对话。
https://stackoverflow.com/questions/35182432
复制相似问题