Botan 3.6.1
Crypto and TLS for C&
|
#include <tls_extensions.h>
Public Member Functions | |
Certificate_Type_Base (std::vector< Certificate_Type > supported_cert_types) | |
Certificate_Type_Base (TLS_Data_Reader &reader, uint16_t extension_size, Connection_Side from) | |
bool | empty () const override |
virtual bool | is_implemented () const |
Certificate_Type | selected_certificate_type () const |
std::vector< uint8_t > | serialize (Connection_Side whoami) const override |
virtual Extension_Code | type () const =0 |
void | validate_selection (const Certificate_Type_Base &from_server) const |
Protected Member Functions | |
Certificate_Type_Base (const Certificate_Type_Base &certificate_type_from_client, const std::vector< Certificate_Type > &server_preference) | |
RFC 7250 Base class for 'client_certificate_type' and 'server_certificate_type' extensions.
Definition at line 214 of file tls_extensions.h.
Botan::TLS::Certificate_Type_Base::Certificate_Type_Base | ( | std::vector< Certificate_Type > | supported_cert_types | ) |
Called by the client to advertise support for a number of cert types.
Definition at line 387 of file tls_extensions.cpp.
References BOTAN_ARG_CHECK.
|
protected |
Called by the server to select a cert type to be used in the handshake.
Definition at line 398 of file tls_extensions.cpp.
References Botan::value_exists().
Botan::TLS::Certificate_Type_Base::Certificate_Type_Base | ( | TLS_Data_Reader & | reader, |
uint16_t | extension_size, | ||
Connection_Side | from ) |
Definition at line 422 of file tls_extensions.cpp.
References Botan::TLS::Client, Botan::TLS::TLS_Data_Reader::get_byte(), and Botan::TLS::TLS_Data_Reader::get_tls_length_value().
|
inlineoverridevirtual |
Implements Botan::TLS::Extension.
Definition at line 236 of file tls_extensions.h.
|
inlinevirtualinherited |
Reimplemented in Botan::TLS::Unknown_Extension.
Definition at line 116 of file tls_extensions.h.
Certificate_Type Botan::TLS::Certificate_Type_Base::selected_certificate_type | ( | ) | const |
Definition at line 480 of file tls_extensions.cpp.
References BOTAN_ASSERT_NOMSG, and Botan::TLS::Server.
Referenced by validate_selection().
|
overridevirtual |
Implements Botan::TLS::Extension.
Definition at line 449 of file tls_extensions.cpp.
References Botan::TLS::append_tls_length_value(), BOTAN_ASSERT_NOMSG, Botan::TLS::Client, and Botan::TLS::Extension::type().
|
pure virtualinherited |
Implemented in Botan::TLS::Application_Layer_Protocol_Notification, Botan::TLS::Certificate_Authorities, Botan::TLS::Certificate_Status_Request, Botan::TLS::Client_Certificate_Type, Botan::TLS::Cookie, Botan::TLS::EarlyDataIndication, Botan::TLS::Encrypt_then_MAC, Botan::TLS::Extended_Master_Secret, Botan::TLS::Key_Share, Botan::TLS::PSK, Botan::TLS::PSK_Key_Exchange_Modes, Botan::TLS::Record_Size_Limit, Botan::TLS::Renegotiation_Extension, Botan::TLS::Server_Certificate_Type, Botan::TLS::Server_Name_Indicator, Botan::TLS::Session_Ticket_Extension, Botan::TLS::Signature_Algorithms, Botan::TLS::Signature_Algorithms_Cert, Botan::TLS::SRTP_Protection_Profiles, Botan::TLS::Supported_Groups, Botan::TLS::Supported_Point_Formats, Botan::TLS::Supported_Versions, and Botan::TLS::Unknown_Extension.
Referenced by serialize().
void Botan::TLS::Certificate_Type_Base::validate_selection | ( | const Certificate_Type_Base & | from_server | ) | const |
Definition at line 465 of file tls_extensions.cpp.
References BOTAN_ASSERT_NOMSG, Botan::TLS::certificate_type_to_string(), Botan::TLS::Client, Botan::fmt(), selected_certificate_type(), Botan::TLS::Server, and Botan::value_exists().