Botan
2.1.0
Crypto and TLS for C++11
|
#include <tls_messages.h>
Public Member Functions | |
const std::vector< uint8_t > & | params () const |
const Private_Key & | server_kex_key () const |
Server_Key_Exchange (Handshake_IO &io, Handshake_State &state, const Policy &policy, Credentials_Manager &creds, RandomNumberGenerator &rng, const Private_Key *signing_key=nullptr) | |
Server_Key_Exchange (const std::vector< uint8_t > &buf, const std::string &kex_alg, const std::string &sig_alg, Protocol_Version version) | |
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 581 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::CECPQ1_offer(), Botan::CECPQ1_OFFER_BYTES, Botan::TLS::Policy::choose_curve(), Botan::TLS::Handshake_State::choose_sig_format(), Botan::TLS::Handshake_State::ciphersuite(), Botan::TLS::Handshake_State::client_hello(), Botan::PointGFp::COMPRESSED, Botan::TLS::Policy::dh_group(), Botan::BigInt::encode(), Botan::get_byte(), Botan::DL_Group::get_g(), Botan::DL_Group::get_p(), Botan::TLS::Alert::HANDSHAKE_FAILURE, Botan::TLS::Handshake_State::hash(), Botan::TLS::Policy::hide_unknown_users(), Botan::TLS::Ciphersuite::kex_algo(), Botan::TLS::Supported_Elliptic_Curves::name_to_curve_id(), params(), Botan::Credentials_Manager::psk_identity_hint(), Botan::TLS::Handshake_IO::send(), Botan::TLS::Handshake_State::server_hello(), Botan::TLS::Ciphersuite::sig_algo(), Botan::PK_Signer::signature(), Botan::Credentials_Manager::srp_verifier(), Botan::PointGFp::UNCOMPRESSED, Botan::TLS::Alert::UNKNOWN_PSK_IDENTITY, Botan::TLS::Handshake_Hash::update(), and Botan::PK_Signer::update().
Botan::TLS::Server_Key_Exchange::Server_Key_Exchange | ( | const std::vector< uint8_t > & | buf, |
const std::string & | kex_algo, | ||
const std::string & | sig_algo, | ||
Protocol_Version | version | ||
) |
Deserialize a Server Key Exchange message
Definition at line 182 of file msg_server_kex.cpp.
References Botan::TLS::TLS_Data_Reader::assert_done(), 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::Signature_Algorithms::hash_algo_name(), Botan::TLS::TLS_Data_Reader::read_so_far(), Botan::TLS::Signature_Algorithms::sig_algo_name(), and Botan::TLS::Protocol_Version::supports_negotiable_signature_algorithms().
|
default |
|
inline |
Definition at line 586 of file tls_messages.h.
Referenced by Server_Key_Exchange(), and verify().
const Private_Key & Botan::TLS::Server_Key_Exchange::server_kex_key | ( | ) | const |
|
inlineoverridevirtual |
Implements Botan::TLS::Handshake_Message.
Definition at line 584 of file tls_messages.h.
References Botan::TLS::SERVER_KEX.
|
inherited |
Definition at line 17 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 273 of file msg_server_kex.cpp.
References Botan::TLS::Policy::check_peer_key_acceptable(), Botan::PK_Verifier::check_signature(), Botan::TLS::Handshake_State::client_hello(), params(), Botan::TLS::Handshake_State::parse_sig_format(), Botan::TLS::Handshake_State::server_hello(), and Botan::PK_Verifier::update().