If not offering early data, the client sends a dummy change_cipher_spec record immediately before its second flight. This may either be before its second ClientHello or before its encrypted handshake flight. If offering early data, the record is placed immediately after the first ClientHello.
Currently in the 0-RTT rejected case, the client will send two CCS messages, one immediately following ClientHello and one after ServerFinished, but because 0-RTT was attempted, the second CCS message is encrypted using the 0-RTT keys.
Description
RFC 8446:
Currently in the 0-RTT rejected case, the client will send two CCS messages, one immediately following ClientHello and one after ServerFinished, but because 0-RTT was attempted, the second CCS message is encrypted using the 0-RTT keys.
Status
READY
Additional comments
ccs_with_fix.log ccs_without_fix.log