Macで表題を行いたい。
■ 環境
- OpenSSL
- Mac OSX El Capitan
■ openssl
下記コマンドでSSL2/SSL3/TLS1.0/TLS1.1/TLS1.2あたりの接続を確認しようとした。
SSL2
$ echo | openssl s_client -connect example.com:443 -ssl2
SSL3
$ echo | openssl s_client -connect example.com:443 -ssl3
TLS1
$ echo | openssl s_client -connect example.com:443 -tls1
TLS1.1をやろうとしたところでコマンドの実行エラー。`openssl`のヘルプが表示されてしまった。どうやら`-tls1_1`や`-tls1_2`というオプションが無いようである。versionを調べると下記であった。
$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016
$
ちなみにAmazonLinuxでは下記のversionであった。
$ openssl version
OpenSSL 1.0.1k-fips 8 Jan 2015
$
AmazonLinuxのversionであれば、`-tls1_1`や`-tls1_2`のオプションが存在する。
そういえばHomebrewで`openssl`は入れている気がする。ので確認。
$ brew info openssl
現時点で最新の”1.0.2k“がインストールされていた。上記に記載された下記の通り、”PATH“を通す使い方が良いのだろうか。
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
とりあえず必要な時はデフォルトではなくこっちの`openssl`を使うようにする。
TLS1.1
$ echo | /usr/local/opt/openssl/bin/openssl s_client -connect example.com:443 -tls1_1
TLS1.2
$ echo | /usr/local/opt/openssl/bin/openssl s_client -connect example.com:443 -tls1_1
以上。