昨日書いた「OpenSSLのTLS1.3対応」の続き
特に何かしたわけではないが、OpenSSLのTLS1.3対応が進んでいたのでインストールしてNginxで動かす。
ビルド
openssl
今回はインストールしてしまう。
$ git clone https://github.com/openssl/openssl.git $ cd ./openssl $ git log --oneline |head -n1 ef3f621 Fix man3 reference to CRYPTO_secure_used $ ./config enable-tls1_3 $ make $ sudo make install
nginx (openssl1.1.0対応が終わってるものなら大丈夫かと)
$ git clone https://github.com/nginx/nginx.git $ cd ./nginx $ ./auto/configure --with-http_ssl_module $ make $ make install
(conf修正と、証明書は各自)
試す
Firefox Nightlyで、about:configよりsecurity.tls.version.maxを5に設定しておく。
アクセスし、デベロッパーツールのセキュリティパネルより確認する。
Nginx側のログも、この通りTLS1.3であることが確認できる
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' 'TLS:$ssl_protocol';
192.168.0.105 - - [19/Jan/2017:15:11:54 +0000] "GET / HTTP/1.1" 200 0 "-" TLS:TLSv1.3
実装としてはやはりまだ不安定でChrome Canaryだと通信に失敗する
ちなみに、ALPNも動いてるようでhttp2も普通に喋れている。
ベンチでも取りたかったが、abがopenssl 1.1.0でのインターフェイス変更に対応してるかちょっと怪しかったので断念。
ゆくゆくは何も意識せずTLS1.3が使われるようになるだろう。