読者です 読者をやめる 読者になる 読者になる

openssl s_clientとs_serverでNPNを指定する方法

alpnはこちら「openssl s_clientとs_serverでalpnを指定する方法


OpenSSL 1.0.1からNPNに対応している。

openssl s_clientやs_serverでもハンドシェイク時のネゴシエーションが指定できる。
ネゴシエーション時の簡単な挙動を確認したいときは手軽である。

s_client

openssl s_client -host google.com -port 443 -nextprotoneg spdy/3,spdy/2,http/1.1

出力結果の「Next protocol」でクライアントが選択したプロトコルが確認できる。

s_server

SSL用の秘密鍵と証明書が事前に必要になるので準備しておく。

openssl s_server -accept 443 -key server.key -cert server.crt -nextprotoneg spdy/3,spdy/2,http/1.1

出力結果の「NEXTPROTO」で選択されたプロトコルが確認できる。