Botan 3.6.1
Crypto and TLS for C&
|
#include <tls_messages.h>
Public Member Functions | |
const std::vector< uint8_t > & | params () const |
const PK_Key_Agreement_Key & | server_kex_key () const |
Server_Key_Exchange (const std::vector< uint8_t > &buf, Kex_Algo kex_alg, Auth_Method sig_alg, Protocol_Version version) | |
Server_Key_Exchange (Handshake_IO &io, Handshake_State &state, const Policy &policy, Credentials_Manager &creds, RandomNumberGenerator &rng, const Private_Key *signing_key=nullptr) | |
const std::optional< Group_Params > & | shared_group () const |
Handshake_Type | type () const override |
std::string | type_string () const |
bool | verify (const Public_Key &server_key, const Handshake_State &state, const Policy &policy) const |
virtual Handshake_Type | wire_type () const |
Server Key Exchange Message
Definition at line 881 of file tls_messages.h.
Botan::TLS::Server_Key_Exchange::Server_Key_Exchange | ( | Handshake_IO & | io, |
Handshake_State & | state, | ||
const Policy & | policy, | ||
Credentials_Manager & | creds, | ||
RandomNumberGenerator & | rng, | ||
const Private_Key * | signing_key = nullptr ) |
Create a new Server Key Exchange message
Definition at line 35 of file msg_server_kex.cpp.
References Botan::TLS::append_tls_length_value(), BOTAN_ASSERT, Botan::TLS::Handshake_State::callbacks(), Botan::TLS::Policy::choose_key_exchange_group(), Botan::TLS::Handshake_State::choose_sig_format(), Botan::TLS::Handshake_State::ciphersuite(), Botan::TLS::Handshake_State::client_hello(), Botan::Compressed, Botan::TLS::Policy::default_dh_group(), Botan::TLS::DH, Botan::TLS::ECDH, Botan::TLS::ECDHE_PSK, Botan::get_byte(), Botan::TLS::Handshake_State::hash(), Botan::TLS::Ciphersuite::kex_method(), Botan::TLS::kex_method_to_string(), params(), Botan::TLS::PSK, Botan::Credentials_Manager::psk_identity_hint(), Botan::ECDH_PrivateKey::public_value(), Botan::TLS::Handshake_IO::send(), Botan::TLS::Handshake_State::server_hello(), Botan::TLS::Ciphersuite::signature_used(), Botan::TLS::Callbacks::tls_generate_ephemeral_key(), Botan::TLS::Callbacks::tls_sign_message(), Botan::Uncompressed, and Botan::TLS::Handshake_Hash::update().
Botan::TLS::Server_Key_Exchange::Server_Key_Exchange | ( | const std::vector< uint8_t > & | buf, |
Kex_Algo | kex_alg, | ||
Auth_Method | sig_alg, | ||
Protocol_Version | version ) |
Deserialize a Server Key Exchange message
Definition at line 157 of file msg_server_kex.cpp.
References Botan::TLS::TLS_Data_Reader::assert_done(), BOTAN_UNUSED, Botan::TLS::DH, Botan::TLS::ECDH, Botan::TLS::ECDHE_PSK, Botan::TLS::TLS_Data_Reader::get_byte(), Botan::TLS::TLS_Data_Reader::get_range(), Botan::TLS::TLS_Data_Reader::get_string(), Botan::TLS::TLS_Data_Reader::get_uint16_t(), Botan::TLS::IMPLICIT, Botan::TLS::kex_method_to_string(), Botan::TLS::PSK, and Botan::TLS::TLS_Data_Reader::read_so_far().
|
inline |
Definition at line 885 of file tls_messages.h.
Referenced by Server_Key_Exchange(), and verify().
const PK_Key_Agreement_Key & Botan::TLS::Server_Key_Exchange::server_kex_key | ( | ) | const |
Definition at line 243 of file msg_server_kex.cpp.
References BOTAN_ASSERT_NONNULL.
|
inline |
Definition at line 896 of file tls_messages.h.
|
inlineoverridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 883 of file tls_messages.h.
|
inherited |
Definition at line 19 of file tls_handshake_state.cpp.
References Botan::TLS::handshake_type_to_string(), and Botan::TLS::Handshake_Message::type().
bool Botan::TLS::Server_Key_Exchange::verify | ( | const Public_Key & | server_key, |
const Handshake_State & | state, | ||
const Policy & | policy ) const |
Verify a Server Key Exchange message
Definition at line 219 of file msg_server_kex.cpp.
References BOTAN_UNUSED, Botan::TLS::Handshake_State::callbacks(), Botan::TLS::Policy::check_peer_key_acceptable(), Botan::TLS::Handshake_State::client_hello(), params(), Botan::TLS::Handshake_State::parse_sig_format(), Botan::TLS::Handshake_State::server_hello(), and Botan::TLS::Callbacks::tls_verify_message().
|
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().