Botan 2.19.3
Crypto and TLS for C&
|
#include <tls_handshake_state.h>
Inherited by Botan::TLS::Server_Handshake_State.
SSL/TLS Handshake State
Definition at line 49 of file tls_handshake_state.h.
Botan::TLS::Handshake_State::Handshake_State | ( | Handshake_IO * | io, |
Callbacks & | callbacks | ||
) |
Definition at line 183 of file tls_handshake_state.cpp.
|
virtualdefault |
|
delete |
|
inline |
Definition at line 163 of file tls_handshake_state.h.
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Server_Key_Exchange::verify(), and Botan::TLS::Certificate_Verify::verify().
|
inline |
Definition at line 132 of file tls_handshake_state.h.
Referenced by cert_req(), choose_sig_format(), and parse_sig_format().
void Botan::TLS::Handshake_State::cert_req | ( | Certificate_Req * | cert_req | ) |
Definition at line 244 of file tls_handshake_state.cpp.
References cert_req(), and note_message().
std::pair< std::string, Signature_Format > Botan::TLS::Handshake_State::choose_sig_format | ( | const Private_Key & | key, |
Signature_Scheme & | scheme, | ||
bool | for_client_auth, | ||
const Policy & | policy | ||
) | const |
Definition at line 399 of file tls_handshake_state.cpp.
References Botan::Public_Key::algo_name(), Botan::TLS::Policy::allowed_signature_hash(), Botan::TLS::Policy::allowed_signature_schemes(), cert_req(), client_hello(), Botan::DER_SEQUENCE, Botan::TLS::DSA_SHA1, Botan::TLS::ECDSA_SHA1, Botan::TLS::Alert::HANDSHAKE_FAILURE, hash(), Botan::TLS::hash_function_of_scheme(), Botan::IEEE_1363, Botan::TLS::padding_string_for_scheme(), Botan::TLS::RSA_PKCS1_SHA1, Botan::TLS::signature_algorithm_of_scheme(), Botan::TLS::signature_scheme_is_known(), Botan::TLS::Client_Hello::signature_schemes(), Botan::TLS::Certificate_Req::signature_schemes(), and version().
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), and Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().
|
inline |
Definition at line 159 of file tls_handshake_state.h.
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), protocol_specific_prf(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Session_Keys::Session_Keys(), and srp_identifier().
|
inline |
Definition at line 138 of file tls_handshake_state.h.
Referenced by client_certs().
void Botan::TLS::Handshake_State::client_certs | ( | Certificate * | client_certs | ) |
Definition at line 256 of file tls_handshake_state.cpp.
References client_certs(), and note_message().
|
inline |
Definition at line 156 of file tls_handshake_state.h.
Referenced by client_finished().
void Botan::TLS::Handshake_State::client_finished | ( | Finished * | client_finished | ) |
Definition at line 286 of file tls_handshake_state.cpp.
References client_finished(), and note_message().
|
inline |
Definition at line 120 of file tls_handshake_state.h.
Referenced by choose_sig_format(), client_hello(), parse_sig_format(), session_ticket(), and srp_identifier().
void Botan::TLS::Handshake_State::client_hello | ( | Client_Hello * | client_hello | ) |
Definition at line 205 of file tls_handshake_state.cpp.
References client_hello(), hash(), note_message(), and Botan::TLS::Handshake_Hash::reset().
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Session_Keys::Session_Keys(), and Botan::TLS::Server_Key_Exchange::verify().
|
inline |
Definition at line 141 of file tls_handshake_state.h.
Referenced by client_kex(), and compute_session_keys().
void Botan::TLS::Handshake_State::client_kex | ( | Client_Key_Exchange * | client_kex | ) |
Definition at line 262 of file tls_handshake_state.cpp.
References client_kex(), and note_message().
|
inline |
Definition at line 144 of file tls_handshake_state.h.
Referenced by client_verify().
void Botan::TLS::Handshake_State::client_verify | ( | Certificate_Verify * | client_verify | ) |
Definition at line 268 of file tls_handshake_state.cpp.
References client_verify(), and note_message().
void Botan::TLS::Handshake_State::compute_session_keys | ( | ) |
Definition at line 297 of file tls_handshake_state.cpp.
References client_kex().
void Botan::TLS::Handshake_State::compute_session_keys | ( | const secure_vector< uint8_t > & | resume_master_secret | ) |
Definition at line 302 of file tls_handshake_state.cpp.
void Botan::TLS::Handshake_State::confirm_transition_to | ( | Handshake_Type | msg_type | ) |
Confirm that we were expecting this message type
msg_type | the message type |
Definition at line 307 of file tls_handshake_state.cpp.
References Botan::TLS::handshake_type_to_string().
std::pair< Handshake_Type, std::vector< uint8_t > > Botan::TLS::Handshake_State::get_next_handshake_msg | ( | ) |
Definition at line 354 of file tls_handshake_state.cpp.
References Botan::TLS::HANDSHAKE_CCS.
|
inline |
Definition at line 59 of file tls_handshake_state.h.
Referenced by hello_verify_request().
|
inline |
Definition at line 169 of file tls_handshake_state.h.
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), choose_sig_format(), client_hello(), Botan::TLS::Finished::Finished(), hello_verify_request(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Session_Keys::Session_Keys(), and Botan::TLS::Certificate_Verify::verify().
|
inline |
Definition at line 171 of file tls_handshake_state.h.
void Botan::TLS::Handshake_State::hello_verify_request | ( | const Hello_Verify_Request & | hello_verify | ) |
Definition at line 195 of file tls_handshake_state.cpp.
References handshake_io(), hash(), note_message(), Botan::TLS::Handshake_Hash::reset(), and Botan::TLS::Handshake_Hash::update().
|
inline |
Definition at line 150 of file tls_handshake_state.h.
Referenced by new_session_ticket(), and session_ticket().
void Botan::TLS::Handshake_State::new_session_ticket | ( | New_Session_Ticket * | new_session_ticket | ) |
Definition at line 274 of file tls_handshake_state.cpp.
References new_session_ticket(), and note_message().
void Botan::TLS::Handshake_State::note_message | ( | const Handshake_Message & | msg | ) |
Definition at line 190 of file tls_handshake_state.cpp.
References Botan::TLS::Callbacks::tls_inspect_handshake_msg().
Referenced by cert_req(), client_certs(), client_finished(), client_hello(), client_kex(), client_verify(), hello_verify_request(), new_session_ticket(), server_cert_status(), server_certs(), server_finished(), server_hello(), server_hello_done(), and server_kex().
|
delete |
std::pair< std::string, Signature_Format > Botan::TLS::Handshake_State::parse_sig_format | ( | const Public_Key & | key, |
Signature_Scheme | scheme, | ||
bool | for_client_auth, | ||
const Policy & | policy | ||
) | const |
Definition at line 495 of file tls_handshake_state.cpp.
References Botan::Public_Key::algo_name(), Botan::TLS::Policy::allowed_signature_method(), cert_req(), client_hello(), Botan::DER_SEQUENCE, Botan::TLS::Alert::HANDSHAKE_FAILURE, hash_algo, Botan::TLS::hash_function_of_scheme(), Botan::IEEE_1363, Botan::TLS::Alert::ILLEGAL_PARAMETER, Botan::TLS::NONE, Botan::TLS::padding_string_for_scheme(), Botan::TLS::signature_algorithm_of_scheme(), Botan::TLS::signature_scheme_is_known(), Botan::TLS::Client_Hello::signature_schemes(), Botan::TLS::Certificate_Req::signature_schemes(), and version().
Referenced by Botan::TLS::Server_Key_Exchange::verify(), and Botan::TLS::Certificate_Verify::verify().
KDF * Botan::TLS::Handshake_State::protocol_specific_prf | ( | ) | const |
Definition at line 382 of file tls_handshake_state.cpp.
References ciphersuite(), Botan::get_kdf(), Botan::TLS::Ciphersuite::prf_algo(), and version().
Referenced by Botan::TLS::Session_Keys::Session_Keys().
bool Botan::TLS::Handshake_State::received_handshake_msg | ( | Handshake_Type | msg_type | ) | const |
Return true iff we have received a particular message already
msg_type | the message type |
Definition at line 346 of file tls_handshake_state.cpp.
|
inline |
Definition at line 147 of file tls_handshake_state.h.
Referenced by server_cert_status().
void Botan::TLS::Handshake_State::server_cert_status | ( | Certificate_Status * | server_cert_status | ) |
Definition at line 232 of file tls_handshake_state.cpp.
References note_message(), and server_cert_status().
|
inline |
Definition at line 126 of file tls_handshake_state.h.
Referenced by server_certs().
void Botan::TLS::Handshake_State::server_certs | ( | Certificate * | server_certs | ) |
Definition at line 226 of file tls_handshake_state.cpp.
References note_message(), and server_certs().
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange().
|
inline |
Definition at line 153 of file tls_handshake_state.h.
Referenced by server_finished().
void Botan::TLS::Handshake_State::server_finished | ( | Finished * | server_finished | ) |
Definition at line 280 of file tls_handshake_state.cpp.
References note_message(), and server_finished().
|
inline |
Definition at line 123 of file tls_handshake_state.h.
Referenced by server_hello().
void Botan::TLS::Handshake_State::server_hello | ( | Server_Hello * | server_hello | ) |
Definition at line 219 of file tls_handshake_state.cpp.
References Botan::TLS::Ciphersuite::by_id(), note_message(), and server_hello().
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Session_Keys::Session_Keys(), and Botan::TLS::Server_Key_Exchange::verify().
|
inline |
Definition at line 135 of file tls_handshake_state.h.
Referenced by server_hello_done().
void Botan::TLS::Handshake_State::server_hello_done | ( | Server_Hello_Done * | server_hello_done | ) |
Definition at line 250 of file tls_handshake_state.cpp.
References note_message(), and server_hello_done().
|
inline |
Definition at line 129 of file tls_handshake_state.h.
Referenced by server_kex().
void Botan::TLS::Handshake_State::server_kex | ( | Server_Key_Exchange * | server_kex | ) |
Definition at line 238 of file tls_handshake_state.cpp.
References note_message(), and server_kex().
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), and Botan::TLS::Client_Key_Exchange::Client_Key_Exchange().
|
inline |
Definition at line 161 of file tls_handshake_state.h.
std::vector< uint8_t > Botan::TLS::Handshake_State::session_ticket | ( | ) | const |
Definition at line 374 of file tls_handshake_state.cpp.
References client_hello(), new_session_ticket(), Botan::TLS::Client_Hello::session_ticket(), and Botan::TLS::New_Session_Ticket::ticket().
void Botan::TLS::Handshake_State::set_expected_next | ( | Handshake_Type | msg_type | ) |
Record that we are expecting a particular message type next
msg_type | the message type |
Definition at line 341 of file tls_handshake_state.cpp.
void Botan::TLS::Handshake_State::set_version | ( | const Protocol_Version & | version | ) |
Definition at line 292 of file tls_handshake_state.cpp.
References version().
std::string Botan::TLS::Handshake_State::srp_identifier | ( | ) | const |
Definition at line 362 of file tls_handshake_state.cpp.
References ciphersuite(), client_hello(), and Botan::TLS::SRP_SHA.
|
inline |
Definition at line 100 of file tls_handshake_state.h.
Referenced by choose_sig_format(), parse_sig_format(), protocol_specific_prf(), Botan::TLS::Session_Keys::Session_Keys(), and set_version().