【发布时间】:2016-09-16 04:50:06
【问题描述】:
我的问题与 Apple Transport Security (ATS) 有关,我很困惑。
我想在我的 swift 应用程序中支持所有协议(所有版本的 TLS 和 SSL)。如果我将 NSAllowsArbitraryLoads 更改为 false,默认情况下应用程序会在所有协议上运行吗?还是我必须在配置中指定域并添加 NSExceptionMinimumTLSVersion?
<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>
我如何检查我的应用与服务器通信的协议是什么?
【问题讨论】:
-
您知道要连接的域吗?服务器是用户可以输入的东西,所以你不能提前知道所有的可能性吗?另外,你是如何连接到 URL 的?您使用的是 UIWebView、WKWebview 还是 NSUrlConnection?您的问题的答案因您计划的连接方式而异。
标签: ios tls1.2 app-transport-security