我的问题与Apple Transport Security(ATS)有关,我太困惑了.
我想在我的swift应用程序中支持所有协议(所有版本的TLS和SSL).如果我将NSAllowsArbitraryLoads更改为false,默认情况下app是否适用于所有协议?或者我是否必须在配置中指定域并添加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>
如何检查我的应用正在与服务器通信什么协议?
解决方法
你想要阅读
https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33
简而言之,您需要指定NSExceptionMinimumTLsversion以支持TLS1.0及更高版本; 1.2是默认值.
为什么要尝试支持较旧的,安全性较低的协议呢?
我不知道如何检查正在使用的协议,但如果您可以将服务器配置为仅使用TLS 1.0,那么您的应用程序将仅与TLSv1.0密钥连接;这很容易测试.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。