如何在iOS应用程序中启用TLS 1.2,1.1,1.0和SSL?
我的问题是关于苹果运输安全(ATS),我太困惑了。
我想在我的swift应用程序中支持所有的协议(所有版本的TLS和SSL)。 如果我将NSAllowsArbitraryLoads更改为false,应用程序默认情况下将应用程序的所有协议? 或者我必须在configuration中指定域并添加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>
而我该如何检查我的应用程序正在与服务器通信什么协议?
总之,你需要指定NSExceptionMinimumTLSVersion来支持TLS1.0以上; 1.2+是默认值。
你为什么试图支持旧的,不太安全的协议呢?
我不知道如何检查哪个协议正在被使用,但是如果你可以configuration一个服务器只能使用TLS 1.0,那么你的应用程序将只与TLSv1.0密钥连接。 这很容易testing。
安全地连接到URL
通过TLS连接到URL是微不足道的。 当您创buildNSURLRequest对象以提供给initWithRequest:delegate:方法时,请将https指定为URL的scheme而不是http。 连接自动使用TLS,无需其他configuration。