我试图限制我的应用程序与运行 1.2 之前任何版本的 TLS 的服务器通信。从文档看来,我应该可以通过调用来做到这一点SSLSetProtocolVersionMin
,所以我做到了:
SSLContextRef context = SSLCreateContext(NULL, kSSLClientSide, kSSLStreamType);
SSLSetProtocolVersionMax(context, kTLSProtocol12);
SSLSetProtocolVersionMin(context, kTLSProtocol12);
我已经验证调用SSLSetProtocolVersionMin
不会返回错误,但我仍然能够连接到协商到 SSLv3 的服务器。
SSLSetProtocolVersionMax
似乎工作正常,因为当我将其设置为 TLSv1.1 并将服务器设置为 TLSv1.2 时,我无法连接到服务器。
看来这在 iOS 9 上按预期工作。有人知道 iOS 8 是否不支持此功能,还是我需要采取其他步骤?