Botan 3.6.1
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 (Client_Hello &&) noexcept | |
Client_Hello (const Client_Hello &)=delete | |
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 |
Client_Hello & | operator= (Client_Hello &&) noexcept |
Client_Hello & | operator= (const Client_Hello &)=delete |
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 |
~Client_Hello () override | |
Protected Member Functions | |
Client_Hello () | |
Client_Hello (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 |
Client Hello Message
Definition at line 76 of file tls_messages.h.
|
delete |
|
defaultnoexcept |
|
overridedefault |
|
protected |
Definition at line 171 of file msg_client_hello.cpp.
|
explicitprotected |
Definition at line 176 of file msg_client_hello.cpp.
References BOTAN_ASSERT_NONNULL, and m_data.
std::vector< Signature_Scheme > Botan::TLS::Client_Hello::certificate_signature_schemes | ( | ) | const |
Definition at line 270 of file msg_client_hello.cpp.
References m_data, and signature_schemes().
Referenced by Botan::TLS::Certificate_13::Certificate_13().
const std::vector< uint16_t > & Botan::TLS::Client_Hello::ciphersuites | ( | ) | const |
Definition at line 200 of file msg_client_hello.cpp.
References m_data.
|
protected |
Definition at line 196 of file msg_client_hello.cpp.
References m_data.
const std::vector< uint8_t > & Botan::TLS::Client_Hello::cookie | ( | ) | const |
Definition at line 387 of file msg_client_hello.cpp.
References m_data.
std::vector< uint8_t > Botan::TLS::Client_Hello::cookie_input_data | ( | ) | const |
Definition at line 249 of file msg_client_hello.cpp.
References BOTAN_STATE_CHECK, and m_data.
std::set< Extension_Code > Botan::TLS::Client_Hello::extension_types | ( | ) | const |
Definition at line 204 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Server_Hello_12::Server_Hello_12(), and Botan::TLS::Client_Hello_13::validate_updates().
const Extensions & Botan::TLS::Client_Hello::extensions | ( | ) | const |
Definition at line 208 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(), and Botan::TLS::Client_Hello_13::validate_updates().
Protocol_Version Botan::TLS::Client_Hello::legacy_version | ( | ) | const |
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 184 of file msg_client_hello.cpp.
References m_data.
std::vector< std::string > Botan::TLS::Client_Hello::next_protocols | ( | ) | const |
Definition at line 373 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(), and Botan::TLS::Client_Hello_13::Client_Hello_13().
bool Botan::TLS::Client_Hello::offered_suite | ( | uint16_t | ciphersuite | ) | const |
Definition at line 258 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12().
|
defaultnoexcept |
|
delete |
const std::vector< uint8_t > & Botan::TLS::Client_Hello::random | ( | ) | const |
Definition at line 188 of file msg_client_hello.cpp.
References m_data.
bool Botan::TLS::Client_Hello::sent_signature_algorithms | ( | ) | const |
Definition at line 369 of file msg_client_hello.cpp.
References m_data.
|
overridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 221 of file msg_client_hello.cpp.
References Botan::TLS::append_tls_length_value(), Botan::TLS::Client, and m_data.
const Session_ID & Botan::TLS::Client_Hello::session_id | ( | ) | const |
Definition at line 192 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Client_Hello_12::session_handle().
std::vector< Signature_Scheme > Botan::TLS::Client_Hello::signature_schemes | ( | ) | const |
Definition at line 263 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), certificate_signature_schemes(), and Botan::TLS::Handshake_State::choose_sig_format().
std::string Botan::TLS::Client_Hello::sni_hostname | ( | ) | const |
Definition at line 303 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), and Botan::TLS::Certificate_Request_13::maybe_create().
std::vector< uint16_t > Botan::TLS::Client_Hello::srtp_profiles | ( | ) | const |
Definition at line 380 of file msg_client_hello.cpp.
References m_data.
std::vector< Group_Params > Botan::TLS::Client_Hello::supported_dh_groups | ( | ) | const |
Definition at line 289 of file msg_client_hello.cpp.
References m_data.
std::vector< Group_Params > Botan::TLS::Client_Hello::supported_ecc_curves | ( | ) | const |
Definition at line 282 of file msg_client_hello.cpp.
References m_data.
std::vector< Protocol_Version > Botan::TLS::Client_Hello::supported_versions | ( | ) | const |
Definition at line 321 of file msg_client_hello.cpp.
References m_data.
bool Botan::TLS::Client_Hello::supports_alpn | ( | ) | const |
Definition at line 353 of file msg_client_hello.cpp.
References m_data.
Referenced by Botan::TLS::Server_Hello_12::Server_Hello_12(), and Botan::TLS::Server_Hello_12::Server_Hello_12().
|
overridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 180 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(), and Botan::TLS::Client_Hello_13::retry().
|
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().
|
protected |
Definition at line 144 of file tls_messages.h.
Referenced by certificate_signature_schemes(), ciphersuites(), Client_Hello(), Botan::TLS::Client_Hello_12::Client_Hello_12(), 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(), extension_types(), 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().