|
Botan 3.11.0
Crypto and TLS for C&
|
#include <tls_messages.h>
Public Member Functions | |
| std::vector< Signature_Scheme > | certificate_signature_schemes () const |
| const std::vector< uint16_t > & | ciphersuites () const |
| Client_Hello_12_Shim (const std::vector< uint8_t > &buf) | |
| const std::vector< uint8_t > & | cookie () const |
| std::vector< uint8_t > | cookie_input_data () const |
| std::set< Extension_Code > | extension_types () const |
| const Extensions & | extensions () const |
| Protocol_Version | legacy_version () const |
| std::vector< std::string > | next_protocols () const |
| bool | offered_suite (uint16_t ciphersuite) const |
| const std::vector< uint8_t > & | random () const |
| bool | sent_signature_algorithms () const |
| std::vector< uint8_t > | serialize () const override |
| const Session_ID & | session_id () const |
| std::vector< Signature_Scheme > | signature_schemes () const |
| std::string | sni_hostname () const |
| std::vector< uint16_t > | srtp_profiles () const |
| std::vector< Group_Params > | supported_dh_groups () const |
| std::vector< Group_Params > | supported_ecc_curves () const |
| std::vector< Protocol_Version > | supported_versions () const |
| bool | supports_alpn () const |
| Handshake_Type | type () const override |
| std::string | type_string () const |
| virtual Handshake_Type | wire_type () const |
Protected Member Functions | |
| Client_Hello () | |
| Client_Hello (Client_Hello &&) noexcept | |
| Client_Hello (const Client_Hello &)=delete | |
| Client_Hello (std::unique_ptr< Client_Hello_Internal > data) | |
| Client_Hello_12_Shim (std::unique_ptr< Client_Hello_Internal > data) | |
| const std::vector< uint8_t > & | compression_methods () const |
Protected Attributes | |
| std::unique_ptr< Client_Hello_Internal > | m_data |
Friends | |
| class | Client_Hello_13 |
Basic implementation of Client_Hello from TLS 1.2. The full implementation is in Client_Hello_12 in the tls12 module. This is meant to be used by the TLS 1.3 implementation to parse, validate and understand a downgrade request.
Definition at line 156 of file tls_messages.h.
|
explicit |
Definition at line 271 of file msg_client_hello.cpp.
References Client_Hello_12_Shim().
Referenced by Client_Hello_12_Shim(), and Client_Hello_13.
|
explicitprotected |
Definition at line 268 of file msg_client_hello.cpp.
References Client_Hello().
|
inherited |
Definition at line 202 of file msg_client_hello.cpp.
References m_data, and signature_schemes().
Referenced by Botan::TLS::Certificate_13::Certificate_13(), and ~Client_Hello().
|
inherited |
Definition at line 138 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
protected |
Definition at line 142 of file msg_client_hello.cpp.
|
protecteddefaultnoexcept |
|
protecteddelete |
Referenced by Client_Hello_12_Shim(), and Botan::TLS::Client_Hello_12::random().
|
explicitprotected |
Definition at line 143 of file msg_client_hello.cpp.
References Botan::TLS::Client_Hello::m_data.
|
protectedinherited |
Definition at line 134 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 264 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 181 of file msg_client_hello.cpp.
References BOTAN_STATE_CHECK, and m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 142 of file msg_client_hello.cpp.
Referenced by Botan::TLS::Server_Hello_12::Server_Hello_12(), Botan::TLS::Client_Hello_13::validate_updates(), and ~Client_Hello().
|
inherited |
Definition at line 146 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Server_Hello_13::create(), Botan::TLS::Encrypted_Extensions::Encrypted_Extensions(), Botan::TLS::Hello_Retry_Request::Hello_Retry_Request(), Botan::TLS::Server_Hello_13::Server_Hello_13(), Botan::TLS::Client_Hello_13::validate_updates(), and ~Client_Hello().
|
inherited |
Return the version indicated in the ClientHello. This may differ from the version indicated in the supported_versions extension.
See RFC 8446 4.1.2: TLS 1.3, the client indicates its version preferences in the "supported_versions" extension (Section 4.2.1) and the legacy_version field MUST be set to 0x0303, which is the version number for TLS 1.2.
Definition at line 122 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 250 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_13::Client_Hello_13(), and ~Client_Hello().
|
inherited |
Definition at line 190 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 126 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 246 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
overridevirtualinherited |
Implements Botan::TLS::Handshake_Message.
Definition at line 153 of file msg_client_hello.cpp.
References Botan::TLS::append_tls_length_value(), Botan::TLS::Client, and m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 130 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Client_Hello_12::session_handle(), and ~Client_Hello().
|
inherited |
Definition at line 195 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), certificate_signature_schemes(), Botan::TLS::Handshake_State::choose_sig_format(), and ~Client_Hello().
|
inherited |
Definition at line 228 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Certificate_Request_13::maybe_create(), and ~Client_Hello().
|
inherited |
Definition at line 257 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 221 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 214 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 235 of file msg_client_hello.cpp.
References m_data.
Referenced by ~Client_Hello().
|
inherited |
Definition at line 242 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Server_Hello_12::Server_Hello_12(), Botan::TLS::Server_Hello_12::Server_Hello_12(), and ~Client_Hello().
|
overridevirtualinherited |
Implements Botan::TLS::Handshake_Message.
Definition at line 118 of file msg_client_hello.cpp.
References Botan::TLS::ClientHello.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_13::Client_Hello_13(), Botan::TLS::Client_Hello_13::retry(), and ~Client_Hello().
|
inherited |
Definition at line 21 of file tls_handshake_state.cpp.
References Botan::TLS::handshake_type_to_string(), and type().
|
inlinevirtualinherited |
Reimplemented in Botan::TLS::Hello_Retry_Request.
Definition at line 39 of file tls_handshake_msg.h.
References type().
Referenced by Botan::TLS::Stream_Handshake_IO::send().
|
friend |
Definition at line 163 of file tls_messages.h.
References Client_Hello_12_Shim(), and Client_Hello_13.
Referenced by Client_Hello_13.
|
protectedinherited |
Definition at line 148 of file tls_messages.h.
Referenced by certificate_signature_schemes(), ciphersuites(), Client_Hello(), Client_Hello(), Botan::TLS::Client_Hello_12_Shim::Client_Hello(), Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Client_Hello_13::Client_Hello_13(), compression_methods(), cookie(), cookie_input_data(), extensions(), Botan::TLS::Client_Hello_13::highest_supported_version(), legacy_version(), next_protocols(), offered_suite(), Botan::TLS::Client_Hello_12::prefers_compressed_ec_points(), random(), Botan::TLS::Client_Hello_12::renegotiation_info(), Botan::TLS::Client_Hello_13::retry(), Botan::TLS::Client_Hello_12::secure_renegotiation(), sent_signature_algorithms(), serialize(), session_id(), Botan::TLS::Client_Hello_12::session_ticket(), signature_schemes(), sni_hostname(), srtp_profiles(), supported_dh_groups(), supported_ecc_curves(), supported_versions(), supports_alpn(), Botan::TLS::Client_Hello_12::supports_cert_status_message(), Botan::TLS::Client_Hello_12::supports_encrypt_then_mac(), Botan::TLS::Client_Hello_12::supports_extended_master_secret(), Botan::TLS::Client_Hello_12::supports_session_ticket(), Botan::TLS::Client_Hello_12::update_hello_cookie(), and Botan::TLS::Client_Hello_13::validate_updates().