Botan 3.5.0
Crypto and TLS for C&
|
#include <tls_messages.h>
Classes | |
struct | Hello_Retry_Request_Creation_Tag |
struct | Hello_Retry_Request_Tag |
struct | Server_Hello_Tag |
Public Member Functions | |
uint16_t | ciphersuite () const |
const Extensions & | extensions () const |
std::optional< Protocol_Version > | random_signals_downgrade () const |
Protocol_Version | selected_version () const final |
std::vector< uint8_t > | serialize () const override |
const Session_ID & | session_id () const |
Handshake_Type | type () const override |
std::string | type_string () const |
virtual Handshake_Type | wire_type () const |
Static Public Member Functions | |
static std::variant< Hello_Retry_Request, Server_Hello_13 > | create (const Client_Hello_13 &ch, bool hello_retry_request_allowed, Session_Manager &session_mgr, Credentials_Manager &credentials_mgr, RandomNumberGenerator &rng, const Policy &policy, Callbacks &cb) |
static std::variant< Hello_Retry_Request, Server_Hello_13, Server_Hello_12 > | parse (const std::vector< uint8_t > &buf) |
Protected Member Functions | |
void | basic_validation () const |
uint8_t | compression_method () const |
std::set< Extension_Code > | extension_types () const |
Protocol_Version | legacy_version () const |
const std::vector< uint8_t > & | random () const |
Server_Hello_13 (const Client_Hello_13 &ch, std::optional< Named_Group > key_exchange_group, Session_Manager &session_mgr, Credentials_Manager &credentials_mgr, RandomNumberGenerator &rng, Callbacks &cb, const Policy &policy) | |
Server_Hello_13 (std::unique_ptr< Server_Hello_Internal > data, Hello_Retry_Request_Creation_Tag tag) | |
Server_Hello_13 (std::unique_ptr< Server_Hello_Internal > data, Hello_Retry_Request_Tag tag) | |
Server_Hello_13 (std::unique_ptr< Server_Hello_Internal > data, Server_Hello_Tag tag=as_server_hello) | |
Protected Attributes | |
std::unique_ptr< Server_Hello_Internal > | m_data |
Static Protected Attributes | |
static const struct Botan::TLS::Server_Hello_13::Hello_Retry_Request_Tag | as_hello_retry_request |
static const struct Botan::TLS::Server_Hello_13::Hello_Retry_Request_Creation_Tag | as_new_hello_retry_request |
static const struct Botan::TLS::Server_Hello_13::Server_Hello_Tag | as_server_hello |
Definition at line 400 of file tls_messages.h.
|
explicitprotected |
Definition at line 585 of file msg_server_hello.cpp.
References basic_validation(), BOTAN_ASSERT_NOMSG, Botan::TLS::Server_Hello::extensions(), Botan::TLS::KeyShare, Botan::TLS::Server_Hello::m_data, Botan::TLS::PresharedKey, and Botan::TLS::SupportedVersions.
|
explicitprotected |
Definition at line 622 of file msg_server_hello.cpp.
References basic_validation(), BOTAN_ASSERT_NOMSG, Botan::TLS::Cookie, Botan::TLS::Server_Hello::extensions(), Botan::TLS::KeyShare, Botan::TLS::Server_Hello::m_data, and Botan::TLS::SupportedVersions.
|
protected |
Definition at line 705 of file msg_server_hello.cpp.
References Botan::TLS::Extensions::add(), BOTAN_ASSERT_NOMSG, BOTAN_ASSERT_NONNULL, Botan::TLS::Ciphersuite::by_id(), Botan::TLS::Key_Share::create_as_encapsulation(), Botan::TLS::Client_Hello::extensions(), Botan::TLS::Server_Hello::extensions(), Botan::TLS::Extensions::get(), Botan::TLS::Extensions::has(), Botan::TLS::Server_Hello::m_data, Botan::TLS::PSK_DHE_KE, Botan::TLS::PSK::select_offered_psk(), Botan::TLS::Server, Botan::TLS::Client_Hello::sni_hostname(), Botan::TLS::Callbacks::tls_modify_extensions(), Botan::TLS::Server_Hello::type(), and Botan::value_exists().
|
explicitprotected |
Definition at line 656 of file msg_server_hello.cpp.
|
protected |
Validation that applies to both Server Hello and Hello Retry Request
Definition at line 540 of file msg_server_hello.cpp.
References BOTAN_ASSERT_NOMSG, Botan::TLS::Server_Hello::compression_method(), Botan::TLS::Server_Hello::extensions(), Botan::TLS::Server_Hello::legacy_version(), Botan::TLS::Server_Hello::m_data, selected_version(), and Botan::to_string().
Referenced by Server_Hello_13(), and Server_Hello_13().
|
inherited |
Definition at line 218 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
Referenced by Botan::TLS::Client_Hello_13::retry().
|
protectedinherited |
Definition at line 210 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
Referenced by basic_validation().
|
static |
Definition at line 459 of file msg_server_hello.cpp.
References BOTAN_ASSERT_NOMSG, BOTAN_STATE_CHECK, Botan::TLS::Policy::choose_key_exchange_group(), Botan::TLS::Client_Hello::extensions(), Server_Hello_13(), and Botan::value_exists().
|
protectedinherited |
Definition at line 222 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
|
inherited |
Definition at line 226 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
Referenced by basic_validation(), Botan::TLS::Client_Hello_13::retry(), Botan::TLS::Server_Hello_12::Server_Hello_12(), Botan::TLS::Server_Hello_12::Server_Hello_12(), Server_Hello_13(), Server_Hello_13(), and Server_Hello_13().
|
protectedinherited |
Definition at line 202 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
Referenced by basic_validation().
|
static |
Definition at line 515 of file msg_server_hello.cpp.
References Server_Hello_13().
|
protectedinherited |
Definition at line 206 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
Referenced by Botan::TLS::Server_Hello::serialize().
std::optional< Protocol_Version > Botan::TLS::Server_Hello_13::random_signals_downgrade | ( | ) | const |
Return desired downgrade version indicated by hello random, if any.
Definition at line 765 of file msg_server_hello.cpp.
References Botan::load_be(), and Botan::TLS::Server_Hello::m_data.
|
finalvirtual |
Implements Botan::TLS::Server_Hello.
Definition at line 777 of file msg_server_hello.cpp.
References BOTAN_ASSERT_NOMSG, and Botan::TLS::Server_Hello::m_data.
Referenced by basic_validation().
|
overridevirtualinherited |
Implements Botan::TLS::Handshake_Message.
Definition at line 178 of file msg_server_hello.cpp.
References Botan::TLS::append_tls_length_value(), Botan::get_byte(), Botan::TLS::Server_Hello::random(), and Botan::TLS::Server.
|
inherited |
Definition at line 214 of file msg_server_hello.cpp.
References Botan::TLS::Server_Hello::m_data.
|
overridevirtualinherited |
Implements Botan::TLS::Handshake_Message.
Definition at line 198 of file msg_server_hello.cpp.
References Botan::TLS::ServerHello.
Referenced by Botan::TLS::Server_Hello_12::Server_Hello_12(), and Server_Hello_13().
|
inherited |
Definition at line 19 of file tls_handshake_state.cpp.
References Botan::TLS::handshake_type_to_string(), and Botan::TLS::Handshake_Message::type().
|
inlinevirtualinherited |
Reimplemented in Botan::TLS::Hello_Retry_Request.
Definition at line 39 of file tls_handshake_msg.h.
Referenced by Botan::TLS::Stream_Handshake_IO::send().
|
staticprotected |
Definition at line 456 of file msg_server_hello.cpp.
|
staticprotected |
Definition at line 457 of file msg_server_hello.cpp.
|
staticprotected |
Definition at line 455 of file msg_server_hello.cpp.
|
protectedinherited |
Definition at line 304 of file tls_messages.h.
Referenced by basic_validation(), Botan::TLS::Server_Hello::ciphersuite(), Botan::TLS::Server_Hello::compression_method(), Botan::TLS::Server_Hello::extension_types(), Botan::TLS::Server_Hello::extensions(), Botan::TLS::Hello_Retry_Request::Hello_Retry_Request(), Botan::TLS::Server_Hello::legacy_version(), Botan::TLS::Server_Hello_12::next_protocol(), Botan::TLS::Server_Hello_12::prefers_compressed_ec_points(), Botan::TLS::Server_Hello::random(), Botan::TLS::Server_Hello_12::random_signals_downgrade(), random_signals_downgrade(), Botan::TLS::Server_Hello_12::renegotiation_info(), Botan::TLS::Server_Hello_12::secure_renegotiation(), selected_version(), Botan::TLS::Server_Hello_12::Server_Hello_12(), Botan::TLS::Server_Hello_12::Server_Hello_12(), Botan::TLS::Server_Hello_12::Server_Hello_12(), Server_Hello_13(), Server_Hello_13(), Server_Hello_13(), Botan::TLS::Server_Hello::session_id(), Botan::TLS::Server_Hello_12::srtp_profile(), Botan::TLS::Server_Hello_12::supports_certificate_status_message(), Botan::TLS::Server_Hello_12::supports_encrypt_then_mac(), Botan::TLS::Server_Hello_12::supports_extended_master_secret(), and Botan::TLS::Server_Hello_12::supports_session_ticket().