Botan 3.6.1
Crypto and TLS for C&
|
#include <tls_reader.h>
Public Member Functions | |
void | assert_done () const |
void | discard_next (size_t bytes) |
uint8_t | get_byte () |
std::vector< uint8_t > | get_data_read_so_far () |
template<typename T , typename Container > | |
Container | get_elem (size_t num_elems) |
template<typename T > | |
std::vector< T > | get_fixed (size_t size) |
template<typename T > | |
std::vector< T > | get_range (size_t len_bytes, size_t min_elems, size_t max_elems) |
template<typename T > | |
std::vector< T > | get_range_vector (size_t len_bytes, size_t min_elems, size_t max_elems) |
std::vector< uint8_t > | get_remaining () |
std::string | get_string (size_t len_bytes, size_t min_bytes, size_t max_bytes) |
std::vector< uint8_t > | get_tls_length_value (size_t len_bytes) |
uint16_t | get_uint16_t () |
uint32_t | get_uint24_t () |
uint32_t | get_uint32_t () |
bool | has_remaining () const |
uint16_t | peek_uint16_t () const |
size_t | read_so_far () const |
size_t | remaining_bytes () const |
TLS_Data_Reader (const char *type, std::span< const uint8_t > buf_in) | |
Helper class for decoding TLS protocol messages
Definition at line 24 of file tls_reader.h.
|
inline |
Definition at line 26 of file tls_reader.h.
|
inline |
Definition at line 29 of file tls_reader.h.
References has_remaining().
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12(), Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13(), and Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().
|
inline |
Definition at line 47 of file tls_reader.h.
Referenced by Botan::TLS::Server_Name_Indicator::Server_Name_Indicator(), and Botan::TLS::Supported_Point_Formats::Supported_Point_Formats().
|
inline |
Definition at line 78 of file tls_reader.h.
Referenced by Botan::TLS::Certificate_Type_Base::Certificate_Type_Base(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Cookie::Cookie(), Botan::TLS::PSK_Key_Exchange_Modes::PSK_Key_Exchange_Modes(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Server_Name_Indicator::Server_Name_Indicator(), and Botan::TLS::Supported_Point_Formats::Supported_Point_Formats().
|
inline |
Definition at line 43 of file tls_reader.h.
|
inline |
Definition at line 86 of file tls_reader.h.
References Botan::load_be(), and T.
Referenced by get_fixed(), get_range(), and get_range_vector().
Definition at line 125 of file tls_reader.h.
References get_elem().
Referenced by Botan::TLS::Certificate_13::Certificate_Entry::Certificate_Entry(), Botan::TLS::Certificate_Status_Request::Certificate_Status_Request(), Botan::TLS::Extensions::deserialize(), get_tls_length_value(), and Botan::TLS::Supported_Point_Formats::Supported_Point_Formats().
|
inline |
Definition at line 105 of file tls_reader.h.
References get_elem(), and T.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::SRTP_Protection_Profiles::SRTP_Protection_Profiles(), and Botan::TLS::Supported_Versions::Supported_Versions().
|
inline |
Definition at line 112 of file tls_reader.h.
References get_elem(), and T.
Referenced by Botan::TLS::Certificate_Request_12::Certificate_Request_12(), and get_string().
|
inline |
Definition at line 41 of file tls_reader.h.
|
inline |
Definition at line 118 of file tls_reader.h.
References Botan::cast_uint8_ptr_to_char(), and get_range_vector().
Referenced by Botan::TLS::Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), and Botan::TLS::Server_Name_Indicator::Server_Name_Indicator().
|
inline |
Definition at line 100 of file tls_reader.h.
References get_fixed().
Referenced by Botan::TLS::Certificate_Authorities::Certificate_Authorities(), Botan::TLS::Certificate_13::Certificate_Entry::Certificate_Entry(), Botan::TLS::Certificate_Request_13::Certificate_Request_13(), Botan::TLS::Certificate_Type_Base::Certificate_Type_Base(), Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13(), and Botan::TLS::PSK::PSK().
|
inline |
Definition at line 66 of file tls_reader.h.
References Botan::make_uint16().
Referenced by Botan::TLS::Application_Layer_Protocol_Notification::Application_Layer_Protocol_Notification(), Botan::TLS::Certificate_Authorities::Certificate_Authorities(), Botan::TLS::Certificate_Request_12::Certificate_Request_12(), Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Cookie::Cookie(), Botan::TLS::Extensions::deserialize(), Botan::TLS::PSK::PSK(), Botan::TLS::Record_Size_Limit::Record_Size_Limit(), Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), Botan::TLS::Server_Name_Indicator::Server_Name_Indicator(), Botan::TLS::Supported_Groups::Supported_Groups(), and Botan::TLS::Supported_Versions::Supported_Versions().
|
inline |
Definition at line 59 of file tls_reader.h.
References Botan::make_uint32().
Referenced by Botan::TLS::Certificate_13::Certificate_13().
|
inline |
Definition at line 52 of file tls_reader.h.
References Botan::make_uint32().
Referenced by Botan::TLS::EarlyDataIndication::EarlyDataIndication(), Botan::TLS::New_Session_Ticket_12::New_Session_Ticket_12(), Botan::TLS::New_Session_Ticket_13::New_Session_Ticket_13(), and Botan::TLS::PSK::PSK().
|
inline |
Definition at line 39 of file tls_reader.h.
References remaining_bytes().
Referenced by assert_done(), Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Certificate_Authorities::Certificate_Authorities(), Botan::TLS::Certificate_Request_12::Certificate_Request_12(), Botan::TLS::Extensions::deserialize(), and Botan::TLS::PSK::PSK().
|
inline |
Definition at line 73 of file tls_reader.h.
References Botan::make_uint16().
Referenced by Botan::TLS::Certificate_13::Certificate_Entry::Certificate_Entry().
|
inline |
Definition at line 35 of file tls_reader.h.
Referenced by Botan::TLS::Handshake_Layer::next_message(), Botan::TLS::Handshake_Layer::next_post_handshake_message(), Botan::TLS::PSK::PSK(), and Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().
|
inline |
Definition at line 37 of file tls_reader.h.
Referenced by Botan::TLS::Certificate_13::Certificate_13(), Botan::TLS::Certificate_Authorities::Certificate_Authorities(), Botan::TLS::Certificate_Request_12::Certificate_Request_12(), Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan::TLS::Cookie::Cookie(), Botan::TLS::Extensions::deserialize(), and has_remaining().