Botan 2.19.3
Crypto and TLS for C&
|
#include <tls_extensions.h>
Public Member Functions | |
void | add (Extension *extn) |
void | deserialize (TLS_Data_Reader &reader, Connection_Side from) |
std::set< Handshake_Extension_Type > | extension_types () const |
Extensions ()=default | |
Extensions (TLS_Data_Reader &reader, Connection_Side side) | |
template<typename T > | |
T * | get () const |
Extension * | get (Handshake_Extension_Type type) const |
template<typename T > | |
bool | has () const |
bool | remove_extension (Handshake_Extension_Type typ) |
std::vector< uint8_t > | serialize (Connection_Side whoami) const |
Represents a block of extensions in a hello message
Definition at line 491 of file tls_extensions.h.
|
default |
|
inline |
Definition at line 535 of file tls_extensions.h.
|
inline |
Definition at line 508 of file tls_extensions.h.
References Botan::TLS::Extension::type().
Referenced by Botan::TLS::Client_Hello::Client_Hello(), Botan::TLS::Client_Hello::Client_Hello(), Botan::TLS::Client_Hello::Client_Hello(), deserialize(), Botan::TLS::Server_Hello::Server_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
void Botan::TLS::Extensions::deserialize | ( | TLS_Data_Reader & | reader, |
Connection_Side | from | ||
) |
Definition at line 72 of file tls_extensions.cpp.
References add(), Botan::TLS::Alert::DECODE_ERROR, Botan::TLS::TLS_Data_Reader::get_uint16_t(), Botan::TLS::TLS_Data_Reader::has_remaining(), Botan::TLS::TLS_Data_Reader::remaining_bytes(), and type.
Referenced by Botan::TLS::Client_Hello::Client_Hello(), and Botan::TLS::Server_Hello::Server_Hello().
std::set< Handshake_Extension_Type > Botan::TLS::Extensions::extension_types | ( | ) | const |
Definition at line 143 of file tls_extensions.cpp.
Definition at line 497 of file tls_extensions.h.
References T.
Referenced by Botan::TLS::Client_Hello::Client_Hello(), Botan::TLS::Client_Hello::next_protocols(), Botan::TLS::Client_Hello::prefers_compressed_ec_points(), Botan::TLS::Client_Hello::renegotiation_info(), Botan::TLS::Client_Hello::session_ticket(), Botan::TLS::Client_Hello::signature_schemes(), Botan::TLS::Client_Hello::sni_hostname(), Botan::TLS::Client_Hello::srtp_profiles(), Botan::TLS::Client_Hello::supported_dh_groups(), Botan::TLS::Client_Hello::supported_ecc_curves(), and Botan::TLS::Client_Hello::supported_versions().
|
inline |
Definition at line 513 of file tls_extensions.h.
References type.
|
inline |
Definition at line 503 of file tls_extensions.h.
Referenced by Botan::TLS::Client_Hello::secure_renegotiation(), Botan::TLS::Client_Hello::sent_signature_algorithms(), Botan::TLS::Client_Hello::supports_alpn(), Botan::TLS::Client_Hello::supports_cert_status_message(), Botan::TLS::Client_Hello::supports_encrypt_then_mac(), Botan::TLS::Client_Hello::supports_extended_master_secret(), and Botan::TLS::Client_Hello::supports_session_ticket().
bool Botan::TLS::Extensions::remove_extension | ( | Handshake_Extension_Type | typ | ) |
Remvoe an extension from this extensions object, if it exists. Returns true if the extension existed (and thus is now removed), otherwise false (the extension wasn't set in the first place).
Definition at line 134 of file tls_extensions.cpp.
std::vector< uint8_t > Botan::TLS::Extensions::serialize | ( | Connection_Side | whoami | ) | const |
Definition at line 100 of file tls_extensions.cpp.
References Botan::get_byte().