【Openssl】 トラブルシュート に役立つ Openssl コマンド

■ Opensslバージョンの確認

openssl version

SSL/TLS で指定サーバに接続

openssl s_client -connect [IPアドレス/ホスト名]:[ポート番号]

# 特定プロトコルで通信するには...
#  => -ssl2, -ssl3, -tls1, -tls1_1, -tls1_2 を指定する
openssl s_client -connect [IPアドレス/ホスト名]:[ポート番号] -tls1

なお、こちらの利用例は、以下の関連記事に記載されている
http://blogs.yahoo.co.jp/dk521123/34209930.html

オプション

`オプション`説明備考
-quietセッションと証明書情報の出力を抑制する余計な情報を省く感じ?
-showcertsサーバの証明書をすべて表示
-tlsextdebugサーバからの受信されたTLS 拡張の16進数ダンプを出力する
-prexitセッション情報を出力SSL通信のデバッグ時に役立つ?
-stateSSLセッション状態を出力SSL通信のデバッグ時に役立つ?

参考文献

https://siguniang.wordpress.com/2014/08/09/openssl-as-ssl-client/
http://man.he.net/man1/s_client
Opensslの翻訳。助かる
http://home.att.ne.jp/theta/diatom/s_client%281%29.html
英語だけど役立つかも
https://www.mkssoftware.com/docs/man1/openssl_s_client.1.asp


■ openssl が使用する暗号方式の設定変更

* Opensslが使用する暗号方式の「優先順位の変更」や「使用禁止」を行うことができる
openssl ciphers [変更する暗号方式]

構文

* 設定値
`設定値`説明備考
eNULL通信の暗号をしないもの
aNULL認証をしないもの
ALLeNULL を使ってない全て
HIGH暗号に 128bit 以上の鍵を使うものほぼ全て
MEDIUM共通鍵暗号方式の鍵長が 128bit の暗号方式
LOW共通鍵暗号方式の鍵長が 56bit または 64bit の暗号方式
EXP, EXPORT米国外に輸出可能な暗号方式
RC4暗号方式 RC4
* 特殊文字
 * 「+」は、イメージと異なるかも。
`記号`説明備考
:複数指定(区切り文字)openssl ciphers AES:MD5
!指定した暗号方式を使わせないopenssl ciphers AES:!MD5
-指定した暗号方式を削除するopenssl ciphers AES:-MD5
+指定した暗号方式を右側に移動(つまり優先度を下げる)openssl ciphers AES:+MD5

参考文献

http://x68000.q-e-d.net/~68user/unix/pickup?openssl
http://www.checksite.jp/ex-openssl-command/
https://kamiyn.wordpress.com/2006/06/24/pound-%E3%81%AE-ssl-%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%AC%E3%83%99%E3%83%AB%E3%82%92%E5%88%B6%E9%99%90%EF%BC%88%E4%B8%8A%E3%81%92%E3%82%8B%EF%BC%89%E6%96%B9%E6%B3%95/
http://qiita.com/sion_cojp/items/99fee211ceace3f76cff