Botan 2.19.3
Crypto and TLS for C&
|
#include <tls_messages.h>
Public Member Functions | |
const std::vector< uint8_t > & | params () const |
const Private_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) | |
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 |
~Server_Key_Exchange ()=default | |
Server Key Exchange Message
Definition at line 532 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 40 of file msg_server_kex.cpp.
References Botan::TLS::append_tls_length_value(), BOTAN_ASSERT, Botan::TLS::Handshake_State::callbacks(), Botan::TLS::CECPQ1, Botan::CECPQ1_offer(), Botan::CECPQ1_OFFER_BYTES, 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::PointGFp::COMPRESSED, Botan::TLS::Policy::default_dh_group(), Botan::TLS::DH, Botan::TLS::DHE_PSK, Botan::TLS::ECDH, Botan::TLS::ECDHE_PSK, Botan::BigInt::encode(), Botan::get_byte(), Botan::DL_Group::get_g(), Botan::DL_Group::get_p(), Botan::TLS::group_param_is_dh(), Botan::TLS::Alert::HANDSHAKE_FAILURE, Botan::TLS::Handshake_State::hash(), Botan::TLS::Policy::hide_unknown_users(), Botan::TLS::Ciphersuite::kex_method(), Botan::TLS::kex_method_to_string(), Botan::TLS::NONE, params(), Botan::TLS::PSK, Botan::Credentials_Manager::psk_identity_hint(), Botan::TLS::Handshake_IO::send(), Botan::TLS::Handshake_State::server_hello(), Botan::TLS::Ciphersuite::signature_used(), Botan::TLS::SRP_SHA, Botan::Credentials_Manager::srp_verifier(), Botan::TLS::Callbacks::tls_decode_group_param(), Botan::TLS::Callbacks::tls_sign_message(), Botan::PointGFp::UNCOMPRESSED, Botan::TLS::Alert::UNKNOWN_PSK_IDENTITY, Botan::TLS::Handshake_Hash::update(), and Botan::TLS::X25519.
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 209 of file msg_server_kex.cpp.
References Botan::TLS::ANONYMOUS, Botan::TLS::TLS_Data_Reader::assert_done(), Botan::TLS::CECPQ1, Botan::TLS::DH, Botan::TLS::DHE_PSK, 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, Botan::TLS::TLS_Data_Reader::read_so_far(), Botan::TLS::SRP_SHA, and Botan::TLS::Protocol_Version::supports_negotiable_signature_algorithms().
|
default |
|
inline |
Definition at line 537 of file tls_messages.h.
Referenced by Server_Key_Exchange(), and verify().
const Private_Key & Botan::TLS::Server_Key_Exchange::server_kex_key | ( | ) | const |
Definition at line 326 of file msg_server_kex.cpp.
References BOTAN_ASSERT_NONNULL.
|
inlineoverridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 535 of file tls_messages.h.
References Botan::TLS::SERVER_KEX.
|
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 300 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().