Botan 2.19.3
Crypto and TLS for C&
|
#include <tls_messages.h>
Classes | |
class | Settings |
Public Member Functions | |
const std::vector< uint16_t > & | ciphersuites () const |
Client_Hello (const std::vector< uint8_t > &buf) | |
Client_Hello (Handshake_IO &io, Handshake_Hash &hash, const Policy &policy, Callbacks &cb, RandomNumberGenerator &rng, const std::vector< uint8_t > &reneg_info, const Client_Hello::Settings &client_settings, const std::vector< std::string > &next_protocols) | |
Client_Hello (Handshake_IO &io, Handshake_Hash &hash, const Policy &policy, Callbacks &cb, RandomNumberGenerator &rng, const std::vector< uint8_t > &reneg_info, const Session &resumed_session, const std::vector< std::string > &next_protocols) | |
const std::vector< uint8_t > & | compression_methods () const |
const std::vector< uint8_t > & | cookie () const |
std::vector< uint8_t > | cookie_input_data () const |
std::set< Handshake_Extension_Type > | extension_types () const |
const Extensions & | extensions () const |
std::vector< std::string > | next_protocols () const |
bool | offered_suite (uint16_t ciphersuite) const |
bool | prefers_compressed_ec_points () const |
const std::vector< uint8_t > & | random () const |
std::vector< uint8_t > | renegotiation_info () const |
bool | secure_renegotiation () const |
bool | sent_fallback_scsv () const |
bool | sent_signature_algorithms () const |
const std::vector< uint8_t > & | session_id () const |
std::vector< uint8_t > | session_ticket () 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 |
bool | supports_cert_status_message () const |
bool | supports_encrypt_then_mac () const |
bool | supports_extended_master_secret () const |
bool | supports_session_ticket () const |
Handshake_Type | type () const override |
std::string | type_string () const |
void | update_hello_cookie (const Hello_Verify_Request &hello_verify) |
Protocol_Version | version () const |
Client Hello Message
Definition at line 70 of file tls_messages.h.
Botan::TLS::Client_Hello::Client_Hello | ( | Handshake_IO & | io, |
Handshake_Hash & | hash, | ||
const Policy & | policy, | ||
Callbacks & | cb, | ||
RandomNumberGenerator & | rng, | ||
const std::vector< uint8_t > & | reneg_info, | ||
const Client_Hello::Settings & | client_settings, | ||
const std::vector< std::string > & | next_protocols | ||
) |
Definition at line 82 of file msg_client_hello.cpp.
References Botan::TLS::Policy::acceptable_protocol_version(), Botan::TLS::Extensions::add(), Botan::TLS::Policy::allowed_signature_schemes(), Botan::TLS::CLIENT, hash, Botan::TLS::Client_Hello::Settings::hostname(), Botan::TLS::Protocol_Version::is_datagram_protocol(), Botan::TLS::Policy::key_exchange_groups(), Botan::TLS::Policy::negotiate_encrypt_then_mac(), next_protocols(), Botan::TLS::Client_Hello::Settings::protocol_version(), Botan::TLS::Handshake_IO::send(), Botan::TLS::Policy::send_fallback_scsv(), Botan::TLS::Client_Hello::Settings::srp_identifier(), Botan::TLS::Policy::srtp_profiles(), Botan::TLS::Policy::support_cert_status_message(), Botan::TLS::Protocol_Version::supports_negotiable_signature_algorithms(), Botan::TLS::TLS_FALLBACK_SCSV, Botan::TLS::Callbacks::tls_modify_extensions(), Botan::TLS::Protocol_Version::to_string(), and Botan::TLS::Policy::use_ecc_point_compression().
Botan::TLS::Client_Hello::Client_Hello | ( | Handshake_IO & | io, |
Handshake_Hash & | hash, | ||
const Policy & | policy, | ||
Callbacks & | cb, | ||
RandomNumberGenerator & | rng, | ||
const std::vector< uint8_t > & | reneg_info, | ||
const Session & | resumed_session, | ||
const std::vector< std::string > & | next_protocols | ||
) |
Definition at line 157 of file msg_client_hello.cpp.
References Botan::TLS::Policy::acceptable_protocol_version(), Botan::TLS::Extensions::add(), Botan::TLS::Policy::allowed_signature_schemes(), Botan::TLS::Session::ciphersuite_code(), Botan::TLS::CLIENT, hash, Botan::TLS::Server_Information::hostname(), Botan::TLS::Policy::key_exchange_groups(), next_protocols(), Botan::TLS::Handshake_IO::send(), Botan::TLS::Session::server_info(), Botan::TLS::Session::session_ticket(), Botan::TLS::Session::srp_identifier(), Botan::TLS::Policy::support_cert_status_message(), Botan::TLS::Session::supports_encrypt_then_mac(), Botan::TLS::Protocol_Version::supports_negotiable_signature_algorithms(), Botan::TLS::Callbacks::tls_modify_extensions(), Botan::TLS::Protocol_Version::to_string(), Botan::TLS::Policy::use_ecc_point_compression(), and Botan::value_exists().
|
explicit |
Definition at line 284 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::add(), Botan::TLS::CLIENT, Botan::TLS::Extensions::deserialize(), Botan::TLS::Extensions::get(), Botan::TLS::TLS_Data_Reader::get_byte(), Botan::TLS::TLS_Data_Reader::get_fixed(), Botan::TLS::TLS_Data_Reader::get_range(), Botan::TLS::TLS_Data_Reader::get_range_vector(), Botan::TLS::Alert::HANDSHAKE_FAILURE, Botan::TLS::Protocol_Version::is_datagram_protocol(), offered_suite(), and Botan::TLS::TLS_EMPTY_RENEGOTIATION_INFO_SCSV.
|
inline |
Definition at line 105 of file tls_messages.h.
|
inline |
Definition at line 103 of file tls_messages.h.
|
inline |
Definition at line 149 of file tls_messages.h.
std::vector< uint8_t > Botan::TLS::Client_Hello::cookie_input_data | ( | ) | const |
Definition at line 262 of file msg_client_hello.cpp.
References Botan::TLS::append_tls_length_value(), Botan::TLS::Protocol_Version::major_version(), and Botan::TLS::Protocol_Version::minor_version().
|
inline |
Definition at line 153 of file tls_messages.h.
Referenced by Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
|
inline |
Definition at line 156 of file tls_messages.h.
std::vector< std::string > Botan::TLS::Client_Hello::next_protocols | ( | ) | const |
Definition at line 448 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
Referenced by Client_Hello(), and Client_Hello().
bool Botan::TLS::Client_Hello::offered_suite | ( | uint16_t | ciphersuite | ) | const |
Definition at line 333 of file msg_client_hello.cpp.
Referenced by Client_Hello(), and sent_fallback_scsv().
bool Botan::TLS::Client_Hello::prefers_compressed_ec_points | ( | ) | const |
Definition at line 367 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
|
inline |
Definition at line 99 of file tls_messages.h.
std::vector< uint8_t > Botan::TLS::Client_Hello::renegotiation_info | ( | ) | const |
Definition at line 397 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get(), and Botan::TLS::Renegotiation_Extension::renegotiation_info().
Referenced by Botan::TLS::Channel::secure_renegotiation_check().
bool Botan::TLS::Client_Hello::secure_renegotiation | ( | ) | const |
Definition at line 392 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Channel::secure_renegotiation_check(), Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
bool Botan::TLS::Client_Hello::sent_fallback_scsv | ( | ) | const |
Definition at line 325 of file msg_client_hello.cpp.
References offered_suite(), and Botan::TLS::TLS_FALLBACK_SCSV.
bool Botan::TLS::Client_Hello::sent_signature_algorithms | ( | ) | const |
Definition at line 443 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
|
inline |
Definition at line 101 of file tls_messages.h.
std::vector< uint8_t > Botan::TLS::Client_Hello::session_ticket | ( | ) | const |
Definition at line 416 of file msg_client_hello.cpp.
References Botan::TLS::Session_Ticket::contents(), and Botan::TLS::Extensions::get().
Referenced by Botan::TLS::Handshake_State::session_ticket().
std::vector< Signature_Scheme > Botan::TLS::Client_Hello::signature_schemes | ( | ) | const |
Definition at line 341 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
Referenced by Botan::TLS::Handshake_State::choose_sig_format(), and Botan::TLS::Handshake_State::parse_sig_format().
std::string Botan::TLS::Client_Hello::sni_hostname | ( | ) | const |
Definition at line 376 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
std::vector< uint16_t > Botan::TLS::Client_Hello::srtp_profiles | ( | ) | const |
Definition at line 455 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
Referenced by Botan::TLS::Server_Hello::Server_Hello().
std::vector< Group_Params > Botan::TLS::Client_Hello::supported_dh_groups | ( | ) | const |
Definition at line 360 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
std::vector< Group_Params > Botan::TLS::Client_Hello::supported_ecc_curves | ( | ) | const |
Definition at line 353 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
std::vector< Protocol_Version > Botan::TLS::Client_Hello::supported_versions | ( | ) | const |
Definition at line 404 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::get().
bool Botan::TLS::Client_Hello::supports_alpn | ( | ) | const |
Definition at line 423 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
bool Botan::TLS::Client_Hello::supports_cert_status_message | ( | ) | const |
Definition at line 433 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Server_Hello::Server_Hello().
bool Botan::TLS::Client_Hello::supports_encrypt_then_mac | ( | ) | const |
Definition at line 438 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
bool Botan::TLS::Client_Hello::supports_extended_master_secret | ( | ) | const |
Definition at line 428 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
bool Botan::TLS::Client_Hello::supports_session_ticket | ( | ) | const |
Definition at line 411 of file msg_client_hello.cpp.
References Botan::TLS::Extensions::has().
Referenced by Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
|
inlineoverridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 93 of file tls_messages.h.
References Botan::TLS::CLIENT_HELLO.
|
inherited |
Definition at line 19 of file tls_handshake_state.cpp.
References Botan::TLS::handshake_type_to_string(), and Botan::TLS::Handshake_Message::type().
void Botan::TLS::Client_Hello::update_hello_cookie | ( | const Hello_Verify_Request & | hello_verify | ) |
Definition at line 224 of file msg_client_hello.cpp.
References Botan::TLS::Hello_Verify_Request::cookie(), and Botan::TLS::Protocol_Version::is_datagram_protocol().
|
inline |
Definition at line 95 of file tls_messages.h.