Name Description Size Coverage
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 -