Botan 3.4.0
Crypto and TLS for C&
Public Attributes | List of all members
Botan::TLS::Channel_Impl::Downgrade_Information Struct Reference

#include <tls_channel_impl.h>

Public Attributes

std::shared_ptr< Callbackscallbacks
 
std::vector< uint8_t > client_hello_message
 The client hello message including the handshake header bytes as transferred to the peer.
 
std::shared_ptr< Credentials_Managercreds
 
size_t io_buffer_size
 
std::vector< std::string > next_protocols
 
std::vector< uint8_t > peer_transcript
 The full data transcript received from the peer. This will contain the server hello message that forced us to downgrade.
 
std::shared_ptr< const Policypolicy
 
bool received_tls_13_error_alert
 
std::shared_ptr< RandomNumberGeneratorrng
 
Server_Information server_info
 
std::shared_ptr< Session_Managersession_manager
 
std::optional< Session_with_Handletls12_session
 
bool will_downgrade
 

Detailed Description

This struct collect all information required to perform a downgrade from TLS 1.3 to TLS 1.2.

The downgrade process is (currently) triggered when a TLS 1.3 client receives a downgrade request in the server hello message (

See also
Client_Impl_13::handle(Server_Hello_12)). As a result, Client::received_data should detect this condition and replace its Channel_Impl_13 member by a Channel_Impl_12.

Note that the downgrade process for the server implementation will likely differ.

Definition at line 199 of file tls_channel_impl.h.

Member Data Documentation

◆ callbacks

std::shared_ptr<Callbacks> Botan::TLS::Channel_Impl::Downgrade_Information::callbacks

Definition at line 214 of file tls_channel_impl.h.

◆ client_hello_message

std::vector<uint8_t> Botan::TLS::Channel_Impl::Downgrade_Information::client_hello_message

The client hello message including the handshake header bytes as transferred to the peer.

Definition at line 201 of file tls_channel_impl.h.

Referenced by Botan::TLS::Client_Impl_12::Client_Impl_12().

◆ creds

std::shared_ptr<Credentials_Manager> Botan::TLS::Channel_Impl::Downgrade_Information::creds

Definition at line 216 of file tls_channel_impl.h.

◆ io_buffer_size

size_t Botan::TLS::Channel_Impl::Downgrade_Information::io_buffer_size

Definition at line 212 of file tls_channel_impl.h.

◆ next_protocols

std::vector<std::string> Botan::TLS::Channel_Impl::Downgrade_Information::next_protocols

Definition at line 211 of file tls_channel_impl.h.

Referenced by Botan::TLS::Client_Impl_12::Client_Impl_12().

◆ peer_transcript

std::vector<uint8_t> Botan::TLS::Channel_Impl::Downgrade_Information::peer_transcript

The full data transcript received from the peer. This will contain the server hello message that forced us to downgrade.

Definition at line 204 of file tls_channel_impl.h.

◆ policy

std::shared_ptr<const Policy> Botan::TLS::Channel_Impl::Downgrade_Information::policy

Definition at line 218 of file tls_channel_impl.h.

◆ received_tls_13_error_alert

bool Botan::TLS::Channel_Impl::Downgrade_Information::received_tls_13_error_alert

Definition at line 220 of file tls_channel_impl.h.

◆ rng

std::shared_ptr<RandomNumberGenerator> Botan::TLS::Channel_Impl::Downgrade_Information::rng

Definition at line 217 of file tls_channel_impl.h.

◆ server_info

Server_Information Botan::TLS::Channel_Impl::Downgrade_Information::server_info

Definition at line 210 of file tls_channel_impl.h.

◆ session_manager

std::shared_ptr<Session_Manager> Botan::TLS::Channel_Impl::Downgrade_Information::session_manager

Definition at line 215 of file tls_channel_impl.h.

◆ tls12_session

std::optional<Session_with_Handle> Botan::TLS::Channel_Impl::Downgrade_Information::tls12_session

The TLS 1.2 session information found by a TLS 1.3 client that caused it to initiate a downgrade before even sending a client hello.

Definition at line 208 of file tls_channel_impl.h.

Referenced by Botan::TLS::Client_Impl_12::Client_Impl_12().

◆ will_downgrade

bool Botan::TLS::Channel_Impl::Downgrade_Information::will_downgrade

Definition at line 221 of file tls_channel_impl.h.


The documentation for this struct was generated from the following file: