第14章 セキュリティー
OpenSSL
のランタイムバージョンはマスクされ、SSL_OP_NO_TLSv1_
1 は OpenSSL
1.0.0 と共に使用しないでください。
特定のアプリケーションは
OpenSSL
バージョンの正しくないバージョンチェックを実行するため、OpenSSL
の実際のランタイムバージョンはマスクされ、代わりにビルドタイムバージョンが報告されます。そのため、SSLeay()
関数を使用して現在実行中の OpenSSL
バージョンを検出することはできません。
また、
OpenSSL
1.0.1 に存在する SSL_OP_NO_TLSv1_1
オプションと同等の値を、OpenSSL
1.0.0 で実行すると SSL_CTX_set_options()
関数に渡すと、SSL/TLS サポートが完全に中断されます。
この問題を回避するには、現在実行中の
OpenSSL
バージョンを検出する別の方法を使用します。たとえば、SSL_ get_ciphers()関数を使用して有効な暗号の一覧を取得し、SSL_ CIPHER_description()
関数を使用してリストを解析することで、TLS
1.2 暗号を検索でき
ます。これは、TLS
1.2 がサポートされるバージョン 1.0.1 以降であるため、1.0.0 よりも新しいバージョンの OpenSSL
で実行するアプリケーションを示します。(BZ#1497859)