Name Description Size
info.txt 444
msg_certificate_13.cpp 18668
msg_certificate_req_13.cpp 6706
msg_encrypted_extensions.cpp encrypted content type byte 5988
msg_key_update.cpp 1065
tls_channel_impl_13.cpp 17486
tls_channel_impl_13.h Encapsulates the callbacks in the state machine described in RFC 8446 7.1, that will make the realisation the SSLKEYLOGFILE for connection debugging specified in ietf.org/archive/id/draft-thomson-tls-keylogfile-00.html The class is split from the rest of the Channel_Impl_13 for mockability. 12762
tls_cipher_state.cpp 27984
tls_cipher_state.h This class implements the key schedule for TLS 1.3 as described in RFC 8446 7.1. Internally, it reflects the state machine pictured in the same RFC section. It provides the following entry points and state advancement methods that each facilitate certain cryptographic functionality: * init_with_psk() sets up the cipher state with a pre-shared key (out of band or via session ticket). will allow sending early data in the future * init_with_server_hello() / advance_with_server_hello() allows encrypting and decrypting handshake traffic, as well as producing and validating the client/server handshake finished MACs * advance_with_server_finished() allows encrypting and decrypting application traffic * advance_with_client_finished() allows negotiation of resumption PSKs While encrypting and decrypting records (RFC 8446 5.2) Cipher_State internally keeps track of the current sequence numbers (RFC 8446 5.3) to calculate the correct Per-Record Nonce. Sequence numbers are reset appropriately, whenever traffic secrets change. Handshake finished MAC calculation and verification is described in RFC 8446 4.4.4. PSKs calculation is described in RFC 8446 4.6.1. 12792
tls_client_impl_13.cpp is_server 30539
tls_client_impl_13.h SSL/TLS Client 1.3 implementation 4186
tls_extensions_key_share.cpp Perform KEM decapsulation with another Key_Share_Entry's public key The caller must ensure that both this and `received` have the same group. This method must not be called on Key_Share_Entries without a private key. 21871
tls_extensions_psk.cpp 18158
tls_handshake_layer_13.cpp 6928
tls_handshake_layer_13.h Implementation of the TLS 1.3 handshake protocol layer This component transforms payload bytes received in TLS records from the peer into parsed handshake messages and vice versa. 4738
tls_handshake_state_13.cpp 2779
tls_handshake_state_13.h 8120
tls_psk_identity_13.cpp 1651
tls_psk_identity_13.h Represents a TLS 1.3 PSK identity as found in the Preshared Key extension with an opaque identity and an associated (obfuscated) ticket age. The latter is not applicable for externally provided PSKs. 2344
tls_record_layer_13.cpp RFC 8446 5.1 `TLSPlaintext` without the `fragment` payload data 17551
tls_record_layer_13.h Resembles the `TLSPlaintext` structure in RFC 8446 5.1 minus the record protocol specifics and ossified bytes. 4441
tls_server_impl_13.cpp is_server 27194
tls_server_impl_13.h SSL/TLS Server 1.3 implementation 2594
tls_transcript_hash_13.cpp message type 'message_hash' RFC 8446 4. 7657
tls_transcript_hash_13.h Wraps the behaviour of the TLS 1.3 transcript hash as described in RFC 8446 4.4.1. Particularly, it hides the complexity that the utilized hash algorithm might become evident only after receiving a server hello message. 3307