kazuho さんが実装を進めている picotls を使う方法のまとめ。picotls は TLS 1.3 のみを実装している。またデフォルトで利用できる ECDHE は P256 のみである。
インストール
cmakeが必要なので、あらかじめインストールしておく。master ブランチが draft 23。
% git clone https://github.com/h2o/picotls % cd picotls % git submodule init % git submodule update % cmake . % make
picotls サーバ
% ./cli -k $SOMEWHERE/key.pem -c $SOMEWHERE/certificate.pem 127.0.0.1 13443
picotls クライアント
Full:
% ./cli 127.0.0.1 443
HRR:
最初はkey_shareを空にして送るという裏技を使う
% ./cli -n 127.0.0.1 443
PSK:
最初の -s オプションでチケットを保存し、次の -s オプションでチケットを読み込む。
% rm ticket % cli -s ticket 127.0.0.1 443 % cli -s ticket 127.0.0.1 443
0RTT:
% rm ticket % cli -s ticket 127.0.0.1 443 % cat early-data.txt - | cli -s ticket -e 127.0.0.1 443