たとえば、LinuxシステムにOpenSSLバージョン1.0.0o
があり、このビルドでサポートされるSSL/TLS
バージョンを知りたいです。
これを実現するシェルコマンドはありますか?
コマンドラインからバージョンのサポートを確認することはできません。最良のオプションは、 OpenSSL changelog をチェックすることです。
1.0.0hまでのOpensslバージョンは、SSLv2、SSLv3、およびTLSv1.0をサポートしています。 Openssl 1.0.1以降、TLSv1.1およびTLSv1.2のサポートが追加されました。
これを使って
openssl ciphers -v | awk '{print $2}' | sort | uniq
これは私のために働いた:
openssl s_client -help 2>&1 > /dev/null | egrep "\-(ssl|tls)[^a-z]"
これが間違っている場合はお知らせください。
不器用ですが、s_client
またはs_server
の使用方法メッセージから取得できます。これらは、コンパイル時に#if
edされ、サポートされているプロトコルバージョンに一致します。のようなものを使用してください
openssl s_client -help 2>&1 | awk '/-ssl[0-9]|-tls[0-9]/{print $1}'
# in older releases any unknown -option will work; in 1.1.0 must be exactly -help
次のコマンドを試してください。
openssl ciphers
これにより、ご使用のバージョンのopensslでサポートされているすべての暗号のリストが作成されます。
特定の暗号セット(たとえば、sslv3暗号のみ)を表示するには、次を試してください。
openssl ciphers -ssl3
詳細については、 https://www.openssl.org/docs/apps/ciphers.html を参照してください。