How hard could implementing DTLS 1.3 possibly be?
Comments
Ranked by a public rubric, not by votes: what a comment adds counts, not who wrote it. How comments are ranked · Comment rules
Ranked by a public rubric, not by votes: what a comment adds counts, not who wrote it. How comments are ranked · Comment rules
Summary
Jo Turk describes how a volunteer team, funded partly by an NLnet grant, built DTLS 1.3 for Go's pion/dtls, which became the default on October 31 after about ten months and roughly 400 commits (the author's own account). It covers a one-round-trip handshake, post-quantum key exchange, Connection IDs, 0-RTT and Encrypted Client Hello. One finding: the 1216-byte ML-KEM key share broke wolfSSL, which rejects fragmented first ClientHellos, so Pion now sends plain X25519 first and falls back to ML-KEM through HelloRetryRequest.