「QUIC実装月報」と言いながら今月もTLS 1.3のことしかやっていませんが。" 39 changed files with 854 additions and 229 deletions" というのが果たして多いのか少ないのか……もっと書けたかなという気持ちはあります。
前回のfuture workとしていた「まずserver側の実装もして」は達成しました。自分がClientHelloを送るのに比べてOpenSSLからやってくるClientHelloに答えられるようにするには、ハードコードしていた各種値の前提が崩れてしまうので、より仕様に準拠した実装に近づける必要がありました。とはいえCipherSuiteとして TLS_AES_128_GCM_SHA256
がやってくる前提はまだ置いています。OpenSSLはデフォルトでは TLS_AES_256_GCM_SHA384
をClientHelloのCipherSuitesで一番先頭に持ってくるので、今後はそれに対応するのか、それともAlert protocolの実装を進めていくべきかは少し悩みどころです。あと、そもそもHelloRetryRequestもですね。これもまだ未対応です。
「自作実装どうしでfull handshakeを完遂できるように」については、次のようにやりとりができるようになりました。
ちゃんと暗号でのやりとりができているのではないでしょうか……
具体的には以下のようなことをやりました。
TLS_AES_128_GCM_SHA256
のみ)legacy_compression_method
や legacy_session_id
legacy_record_version
引き続きやっていきたいです。