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 |