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 でサポートされていないかどうか、または他に必要な手順があるかどうかを知っている人はいますか?