-sess_out と sess_id が便利だったのでメモ。
openssl s_client コマンド
opensslのs_clientは、サーバーとのSSL通信を確認するためのコマンド。いろいろな場面で応用できる。
-sess_out オプション
-sess_out を使うと、openssl s_client の結果(SSLセッション情報)をファイルに記録することができる。
$ openssl s_client -connect smtp.gmail.com:587 -starttls smtp -sess_out sess_out.txt
上の例では、sess_out.txtに記録される(鍵の情報が含まれているので、扱いには要注意)。
$ cat sess_out.txt -----BEGIN SSL SESSION PARAMETERS----- MIIEdQIBAQICAwEEAgAFBCCiljn8yfXmDAlDzxlv53HgKo02ds87ncxERAAfYxf2 (略) -----END SSL SESSION PARAMETERS-----
ただし、cat で表示してみると分かるように、PEMエンコードされているためそのままでは読めない。
openssl sess_id コマンド
SSLセッション情報を解読するためのコマンドとして、openssl sess_id が提供されている。
$ openssl sess_id -text -noout -in sess_out.txt
SSL-Session:
Protocol : TLSv1
Cipher : 0005
Session-ID: A29639FCC9F5E60C0943CF196FE771E02A8D3676CF3B9DCC4444001F6317F68E
Session-ID-ctx:
Master-Key: 0FF83FC108F7A09BD6E9D76CD707804B6DFCCA3520EA13574B42EE40E21718D651432D79645AB91DAF2937D9373D1F97
Key-Arg : None
Krb5 Principal: None
(略)
Start Time: 1314886612
Timeout : 300 (sec)
Verify return code: 0 (ok)
上の例のように、Protocol, Cipher, Session-ID, Master-Keyなど、SSLセッションを特徴づけるデータが分かる。
このコマンドのオプションは man sess_id で確認ができる。
0 件のコメント:
コメントを投稿