Botan 3.12.0
Crypto and TLS for C&
Botan::TLS::Active_Connection_State_13 Class Referencefinal

#include <tls_connection_state_13.h>

Public Member Functions

 Active_Connection_State_13 (Active_Connection_State_13 &&) noexcept
 Active_Connection_State_13 (const Active_Connection_State_13 &)=delete
 Active_Connection_State_13 (const Internal::Handshake_State_13_Base &state, std::vector< X509_Certificate > peer_certs, std::shared_ptr< const Public_Key > peer_raw_public_key, std::optional< std::string > psk_identity, std::string sni_hostname, bool peer_supports_psk_dhe_ke)
const std::string & application_protocol () const
uint16_t ciphersuite_code () const
const std::vector< uint8_t > & client_random () const
Active_Connection_State_13operator= (Active_Connection_State_13 &&) noexcept
Active_Connection_State_13operator= (const Active_Connection_State_13 &)=delete
const std::vector< X509_Certificate > & peer_certs () const
const std::shared_ptr< const Public_Key > & peer_raw_public_key () const
bool peer_supports_psk_dhe_ke () const
const std::optional< std::string > & psk_identity () const
const std::string & sni_hostname () const
Protocol_Version version () const
 ~Active_Connection_State_13 ()

Detailed Description

Captures the state of a completed TLS 1.3 handshake that is needed for the lifetime of an active connection.

Definition at line 34 of file tls_connection_state_13.h.

Constructor & Destructor Documentation

◆ Active_Connection_State_13() [1/3]

Botan::TLS::Active_Connection_State_13::Active_Connection_State_13 ( const Internal::Handshake_State_13_Base & state,
std::vector< X509_Certificate > peer_certs,
std::shared_ptr< const Public_Key > peer_raw_public_key,
std::optional< std::string > psk_identity,
std::string sni_hostname,
bool peer_supports_psk_dhe_ke )

Definition at line 30 of file tls_connection_state_13.cpp.

35 :
36 m_version(state.server_hello().selected_version()),
37 m_ciphersuite_code(state.server_hello().ciphersuite()),
38 m_application_protocol(extract_alpn(state)),
39 m_peer_certs(std::move(peer_certs)),
40 m_client_random(state.client_hello().random()),
41 m_psk_identity(std::move(psk_identity)),
42 m_peer_raw_public_key(std::move(peer_raw_public_key)),
43 m_sni_hostname(std::move(sni_hostname)),
44 m_peer_supports_psk_dhe_ke(peer_supports_psk_dhe_ke) {}
const std::optional< std::string > & psk_identity() const
const std::vector< X509_Certificate > & peer_certs() const
const std::shared_ptr< const Public_Key > & peer_raw_public_key() const

References Active_Connection_State_13(), peer_certs(), peer_raw_public_key(), peer_supports_psk_dhe_ke(), psk_identity(), and sni_hostname().

Referenced by Active_Connection_State_13(), Active_Connection_State_13(), Active_Connection_State_13(), operator=(), and operator=().

◆ ~Active_Connection_State_13()

Botan::TLS::Active_Connection_State_13::~Active_Connection_State_13 ( )
default

◆ Active_Connection_State_13() [2/3]

Botan::TLS::Active_Connection_State_13::Active_Connection_State_13 ( Active_Connection_State_13 && )
defaultnoexcept

◆ Active_Connection_State_13() [3/3]

Botan::TLS::Active_Connection_State_13::Active_Connection_State_13 ( const Active_Connection_State_13 & )
delete

Member Function Documentation

◆ application_protocol()

const std::string & Botan::TLS::Active_Connection_State_13::application_protocol ( ) const
inline

Definition at line 54 of file tls_connection_state_13.h.

54{ return m_application_protocol; }

◆ ciphersuite_code()

uint16_t Botan::TLS::Active_Connection_State_13::ciphersuite_code ( ) const
inline

Definition at line 52 of file tls_connection_state_13.h.

52{ return m_ciphersuite_code; }

◆ client_random()

const std::vector< uint8_t > & Botan::TLS::Active_Connection_State_13::client_random ( ) const
inline

Definition at line 58 of file tls_connection_state_13.h.

58{ return m_client_random; }

◆ operator=() [1/2]

Active_Connection_State_13 & Botan::TLS::Active_Connection_State_13::operator= ( Active_Connection_State_13 && )
defaultnoexcept

◆ operator=() [2/2]

Active_Connection_State_13 & Botan::TLS::Active_Connection_State_13::operator= ( const Active_Connection_State_13 & )
delete

◆ peer_certs()

const std::vector< X509_Certificate > & Botan::TLS::Active_Connection_State_13::peer_certs ( ) const
inline

Definition at line 56 of file tls_connection_state_13.h.

56{ return m_peer_certs; }

Referenced by Active_Connection_State_13().

◆ peer_raw_public_key()

const std::shared_ptr< const Public_Key > & Botan::TLS::Active_Connection_State_13::peer_raw_public_key ( ) const
inline

Definition at line 62 of file tls_connection_state_13.h.

62{ return m_peer_raw_public_key; }

Referenced by Active_Connection_State_13().

◆ peer_supports_psk_dhe_ke()

bool Botan::TLS::Active_Connection_State_13::peer_supports_psk_dhe_ke ( ) const
inline

Definition at line 66 of file tls_connection_state_13.h.

66{ return m_peer_supports_psk_dhe_ke; }

Referenced by Active_Connection_State_13().

◆ psk_identity()

const std::optional< std::string > & Botan::TLS::Active_Connection_State_13::psk_identity ( ) const
inline

Definition at line 60 of file tls_connection_state_13.h.

60{ return m_psk_identity; }

Referenced by Active_Connection_State_13().

◆ sni_hostname()

const std::string & Botan::TLS::Active_Connection_State_13::sni_hostname ( ) const
inline

Definition at line 64 of file tls_connection_state_13.h.

64{ return m_sni_hostname; }

Referenced by Active_Connection_State_13().

◆ version()

Protocol_Version Botan::TLS::Active_Connection_State_13::version ( ) const
inline

Definition at line 50 of file tls_connection_state_13.h.

50{ return m_version; }

References version().

Referenced by version().


The documentation for this class was generated from the following files: