|
Botan 3.10.0
Crypto and TLS for C&
|
#include <tls_session.h>
Public Member Functions | |
| Ciphersuite | ciphersuite () const |
| uint16_t | ciphersuite_code () const |
| uint16_t | dtls_srtp_profile () const |
| const std::vector< X509_Certificate > & | peer_certs () const |
| std::shared_ptr< const Public_Key > | peer_raw_public_key () const |
| const Server_Information & | server_info () const |
| Session_Base (std::chrono::system_clock::time_point start_time, Protocol_Version version, uint16_t ciphersuite, Connection_Side connection_side, uint16_t srtp_profile, bool extended_master_secret, bool encrypt_then_mac, std::vector< X509_Certificate > peer_certs, std::shared_ptr< const Public_Key > peer_raw_public_key, Server_Information server_info) | |
| Connection_Side | side () const |
| std::chrono::system_clock::time_point | start_time () const |
| bool | supports_encrypt_then_mac () const |
| bool | supports_extended_master_secret () const |
| Protocol_Version | version () const |
Protected Member Functions | |
| Session_Base ()=default | |
Protected Attributes | |
| uint16_t | m_ciphersuite = 0 |
| Connection_Side | m_connection_side {} |
| bool | m_encrypt_then_mac = false |
| bool | m_extended_master_secret = false |
| std::vector< X509_Certificate > | m_peer_certs |
| std::shared_ptr< const Public_Key > | m_peer_raw_public_key |
| Server_Information | m_server_info |
| uint16_t | m_srtp_profile = 0 |
| std::chrono::system_clock::time_point | m_start_time |
| Protocol_Version | m_version |
Represents basic information about a session that can be both persisted for resumption and presented to the application as a summary of a specific just-established TLS session.
Definition at line 140 of file tls_session.h.
|
inline |
Definition at line 142 of file tls_session.h.
|
protecteddefault |
| Ciphersuite Botan::TLS::Session_Base::ciphersuite | ( | ) | const |
Get the ciphersuite info of the negotiated TLS session
Definition at line 86 of file tls_session.cpp.
References Botan::TLS::Ciphersuite::by_id(), and m_ciphersuite.
|
inline |
Get the ciphersuite code of the negotiated TLS session
Definition at line 180 of file tls_session.h.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12(), and Botan::TLS::Session::Session().
|
inline |
|
inline |
Return the certificate chain of the peer (possibly empty)
Definition at line 212 of file tls_session.h.
|
inline |
Return the raw public key of the peer (possibly empty)
Definition at line 217 of file tls_session.h.
|
inline |
Get information about the TLS server
Returns information that identifies the server side of the connection. This is useful for the client in that it identifies what was originally passed to the constructor. For the server, it includes the name the client specified in the server name indicator extension.
Definition at line 227 of file tls_session.h.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12(), and Botan::TLS::Session_Manager_SQL::store().
|
inline |
Get which side of the connection we are/were acting as.
Definition at line 190 of file tls_session.h.
Referenced by Botan::TLS::Session_Manager::establish(), and Botan::TLS::Session_Manager_Stateless::establish().
|
inline |
Get the wall clock time this session began
Definition at line 170 of file tls_session.h.
Referenced by Botan::TLS::Session::Session(), and Botan::TLS::Session_Manager_SQL::store().
|
inline |
Returns true if a TLS 1.2 session negotiated "encrypt then MAC"; TLS 1.3 sessions will always return false as they always use an AEAD.
Definition at line 201 of file tls_session.h.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12().
|
inline |
Returns true if a TLS 1.2 session negotiated "extended master secret"; TLS 1.3 sessions will always return true (see RFC 8446 Appendix D).
Definition at line 207 of file tls_session.h.
|
inline |
Get the negotiated protocol version of the TLS session
Definition at line 175 of file tls_session.h.
Referenced by Botan::TLS::Client_Hello_12::Client_Hello_12(), Botan::TLS::Session_Manager_Hybrid::establish(), Botan::TLS::Channel_Impl::request_downgrade_for_resumption(), Botan::TLS::Session::Session(), Botan::TLS::Session::Session(), and Botan::TLS::Callbacks::tls_should_persist_resumption_information().
|
protected |
Definition at line 233 of file tls_session.h.
Referenced by ciphersuite(), Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 234 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 238 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 237 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 240 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 241 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 242 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 235 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 230 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), and Botan::TLS::Session::Session().
|
protected |
Definition at line 232 of file tls_session.h.
Referenced by Botan::TLS::Session::DER_encode(), Botan::TLS::Session::Session(), and Botan::TLS::Session::Session().