cloudflare / cloudflare/tls-tris
Support for session tickets and other post-handshake messages
- Dominant language
- Go
- Stars
- 300
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Description
In TLS 1.2, the client could not receive NewSessionTicket because it did not advertise the session_ticket extension ([RFC 5077](https://tools.ietf.org/search/rfc5077)). The only post-handshake message it could receive from the server is a HelloRequest message.
In TLS 1.3, the NST message is part of the protocol and does not need an extension. This means that the code must be prepared to accept other post-handshake Handshake messages. In particular:
- NewSessionTicket
- KeyUpdate
- CertificateRequest (only if client advertises `post_handshake_auth`).
Currently it sends a no_renegotiation alert while it should probably be sending an unexpected_message alert (or handle the message).
Related: https://github.com/golang/go/issues/19199
Contributor guide
Research direction
Start by tracing the TLS 1.3 handling of post-handshake Handshake messages and the current no_renegotiation alert path. Check behavior for NewSessionTicket, KeyUpdate, and post-handshake CertificateRequest, and verify that unsupported messages produce the appropriate alert or are handled as required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100