Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes | List of all members
SSL_HANDSHAKE Struct Reference

#include <internal.h>

Public Member Functions

Span< uint8_tclient_handshake_secret ()
 
Span< uint8_tclient_traffic_secret_0 ()
 
Span< uint8_tearly_traffic_secret ()
 
Span< uint8_texpected_client_finished ()
 
bool GetClientHello (SSLMessage *out_msg, SSL_CLIENT_HELLO *out_client_hello)
 
void ResizeSecrets (size_t hash_len)
 
Span< uint8_tsecret ()
 
Span< const uint8_tsecret () const
 
Span< uint8_tserver_handshake_secret ()
 
Span< uint8_tserver_traffic_secret_0 ()
 
 SSL_HANDSHAKE (SSL *ssl)
 
 STACK_OF (X509_NAME) *cached_x509_ca_names
 
 ~SSL_HANDSHAKE ()
 

Public Attributes

bool accept_psk_mode: 1
 
bool apply_jdk11_workaround: 1
 
UniquePtr< STACK_OF(CRYPTO_BUFFER)> ca_names
 
bool can_early_read: 1
 
bool can_early_write: 1
 
bool can_release_private_key: 1
 
uint16_t cert_compression_alg_id
 
bool cert_compression_negotiated: 1
 
bool cert_request: 1
 
bool certificate_status_expected: 1
 
Array< uint8_tcertificate_types
 
bool channel_id_negotiated: 1
 
uint16_t client_version = 0
 
SSL_CONFIGconfig
 
Array< uint8_tcookie
 
bool delegated_credential_requested: 1
 
bool early_data_offered: 1
 
uint16_t early_data_read = 0
 
uint16_t early_data_written = 0
 
UniquePtr< SSL_SESSIONearly_session
 
Array< uint8_tecdh_public_key
 
bool ech_authenticated_reject: 1
 
Array< uint8_tech_client_hello_buf
 
Array< uint8_tech_client_outer
 
uint8_t ech_config_id = 0
 
ScopedEVP_HPKE_CTX ech_hpke_ctx
 
bool ech_is_inner: 1
 
UniquePtr< SSL_ECH_KEYSech_keys
 
Array< uint8_tech_retry_configs
 
UniquePtr< ERR_SAVE_STATEerror
 
bool extended_master_secret: 1
 
Array< uint8_textension_permutation
 
union {
   uint32_t   received
 
   uint32_t   sent = 0
 
extensions
 
uint8_t grease_seed [ssl_grease_last_index+1] = {0}
 
bool handback: 1
 
bool handshake_finalized: 1
 
UniquePtr< SSL_HANDSHAKE_HINTShints
 
bool hints_requested: 1
 
bool in_early_data: 1
 
bool in_false_start: 1
 
uint8_t inner_client_random [SSL3_RANDOM_SIZE] = {0}
 
uint32_t inner_extensions_sent = 0
 
SSLTranscript inner_transcript
 
Array< uint8_tkey_block
 
Array< uint8_tkey_share_bytes
 
UniquePtr< SSLKeySharekey_shares [2]
 
UniquePtr< EVP_PKEYlocal_pubkey
 
uint16_t max_version = 0
 
uint16_t min_version = 0
 
const SSL_CIPHERnew_cipher = nullptr
 
UniquePtr< SSL_SESSIONnew_session
 
bool next_proto_neg_seen: 1
 
bool ocsp_stapling_requested: 1
 
Array< uint16_tpeer_delegated_credential_sigalgs
 
Array< uint8_tpeer_key
 
UniquePtr< char > peer_psk_identity_hint
 
UniquePtr< EVP_PKEYpeer_pubkey
 
Array< uint16_tpeer_sigalgs
 
Array< uint16_tpeer_supported_group_list
 
bool pending_private_key_op: 1
 
bool scts_requested: 1
 
UniquePtr< ECHConfigselected_ech_config
 
Array< uint8_tserver_params
 
uint8_t session_id [SSL_MAX_SSL_SESSION_ID_LENGTH] = {0}
 
uint8_t session_id_len = 0
 
bool should_ack_sni: 1
 
SSLssl
 
int state = 0
 
bool ticket_expected: 1
 
int tls13_state = 0
 
SSLTranscript transcript
 
enum ssl_hs_wait_t wait = ssl_hs_ok
 

Static Public Attributes

static constexpr bool kAllowUniquePtr = true
 

Private Attributes

uint8_t client_handshake_secret_ [SSL_MAX_MD_SIZE] = {0}
 
uint8_t client_traffic_secret_0_ [SSL_MAX_MD_SIZE] = {0}
 
uint8_t early_traffic_secret_ [SSL_MAX_MD_SIZE] = {0}
 
uint8_t expected_client_finished_ [SSL_MAX_MD_SIZE] = {0}
 
size_t hash_len_ = 0
 
uint8_t secret_ [SSL_MAX_MD_SIZE] = {0}
 
uint8_t server_handshake_secret_ [SSL_MAX_MD_SIZE] = {0}
 
uint8_t server_traffic_secret_0_ [SSL_MAX_MD_SIZE] = {0}
 

Detailed Description

Definition at line 1720 of file third_party/boringssl-with-bazel/src/ssl/internal.h.

Constructor & Destructor Documentation

◆ SSL_HANDSHAKE()

BSSL_NAMESPACE_BEGIN SSL_HANDSHAKE::SSL_HANDSHAKE ( SSL ssl)
explicit

Definition at line 127 of file handshake.cc.

◆ ~SSL_HANDSHAKE()

SSL_HANDSHAKE::~SSL_HANDSHAKE ( )

Definition at line 163 of file handshake.cc.

Member Function Documentation

◆ client_handshake_secret()

Span<uint8_t> SSL_HANDSHAKE::client_handshake_secret ( )
inline

◆ client_traffic_secret_0()

Span<uint8_t> SSL_HANDSHAKE::client_traffic_secret_0 ( )
inline

◆ early_traffic_secret()

Span<uint8_t> SSL_HANDSHAKE::early_traffic_secret ( )
inline

◆ expected_client_finished()

Span<uint8_t> SSL_HANDSHAKE::expected_client_finished ( )
inline

◆ GetClientHello()

bool SSL_HANDSHAKE::GetClientHello ( SSLMessage out_msg,
SSL_CLIENT_HELLO out_client_hello 
)

Definition at line 174 of file handshake.cc.

◆ ResizeSecrets()

void SSL_HANDSHAKE::ResizeSecrets ( size_t  hash_len)

Definition at line 167 of file handshake.cc.

◆ secret() [1/2]

Span<uint8_t> SSL_HANDSHAKE::secret ( )
inline

◆ secret() [2/2]

Span<const uint8_t> SSL_HANDSHAKE::secret ( ) const
inline

◆ server_handshake_secret()

Span<uint8_t> SSL_HANDSHAKE::server_handshake_secret ( )
inline

◆ server_traffic_secret_0()

Span<uint8_t> SSL_HANDSHAKE::server_traffic_secret_0 ( )
inline

◆ STACK_OF()

SSL_HANDSHAKE::STACK_OF ( X509_NAME  )

Member Data Documentation

◆ accept_psk_mode

bool SSL_HANDSHAKE::accept_psk_mode

◆ apply_jdk11_workaround

bool SSL_HANDSHAKE::apply_jdk11_workaround

◆ ca_names

UniquePtr<STACK_OF(CRYPTO_BUFFER)> SSL_HANDSHAKE::ca_names

◆ can_early_read

bool SSL_HANDSHAKE::can_early_read

◆ can_early_write

bool SSL_HANDSHAKE::can_early_write

◆ can_release_private_key

bool SSL_HANDSHAKE::can_release_private_key

◆ cert_compression_alg_id

uint16_t SSL_HANDSHAKE::cert_compression_alg_id

◆ cert_compression_negotiated

bool SSL_HANDSHAKE::cert_compression_negotiated

◆ cert_request

bool SSL_HANDSHAKE::cert_request

◆ certificate_status_expected

bool SSL_HANDSHAKE::certificate_status_expected

◆ certificate_types

Array<uint8_t> SSL_HANDSHAKE::certificate_types

◆ channel_id_negotiated

bool SSL_HANDSHAKE::channel_id_negotiated

◆ client_handshake_secret_

uint8_t SSL_HANDSHAKE::client_handshake_secret_[SSL_MAX_MD_SIZE] = {0}
private

◆ client_traffic_secret_0_

uint8_t SSL_HANDSHAKE::client_traffic_secret_0_[SSL_MAX_MD_SIZE] = {0}
private

◆ client_version

uint16_t SSL_HANDSHAKE::client_version = 0

◆ config

SSL_CONFIG* SSL_HANDSHAKE::config

◆ cookie

Array<uint8_t> SSL_HANDSHAKE::cookie

◆ delegated_credential_requested

bool SSL_HANDSHAKE::delegated_credential_requested

◆ early_data_offered

bool SSL_HANDSHAKE::early_data_offered

◆ early_data_read

uint16_t SSL_HANDSHAKE::early_data_read = 0

◆ early_data_written

uint16_t SSL_HANDSHAKE::early_data_written = 0

◆ early_session

UniquePtr<SSL_SESSION> SSL_HANDSHAKE::early_session

◆ early_traffic_secret_

uint8_t SSL_HANDSHAKE::early_traffic_secret_[SSL_MAX_MD_SIZE] = {0}
private

◆ ecdh_public_key

Array<uint8_t> SSL_HANDSHAKE::ecdh_public_key

◆ ech_authenticated_reject

bool SSL_HANDSHAKE::ech_authenticated_reject

◆ ech_client_hello_buf

Array<uint8_t> SSL_HANDSHAKE::ech_client_hello_buf

◆ ech_client_outer

Array<uint8_t> SSL_HANDSHAKE::ech_client_outer

◆ ech_config_id

uint8_t SSL_HANDSHAKE::ech_config_id = 0

◆ ech_hpke_ctx

ScopedEVP_HPKE_CTX SSL_HANDSHAKE::ech_hpke_ctx

◆ ech_is_inner

bool SSL_HANDSHAKE::ech_is_inner

◆ ech_keys

UniquePtr<SSL_ECH_KEYS> SSL_HANDSHAKE::ech_keys

◆ ech_retry_configs

Array<uint8_t> SSL_HANDSHAKE::ech_retry_configs

◆ error

UniquePtr<ERR_SAVE_STATE> SSL_HANDSHAKE::error

◆ expected_client_finished_

uint8_t SSL_HANDSHAKE::expected_client_finished_[SSL_MAX_MD_SIZE] = {0}
private

◆ extended_master_secret

bool SSL_HANDSHAKE::extended_master_secret

◆ extension_permutation

Array<uint8_t> SSL_HANDSHAKE::extension_permutation

◆ extensions

union { ... } SSL_HANDSHAKE::extensions

◆ grease_seed

uint8_t SSL_HANDSHAKE::grease_seed[ssl_grease_last_index+1] = {0}

◆ handback

bool SSL_HANDSHAKE::handback

◆ handshake_finalized

bool SSL_HANDSHAKE::handshake_finalized

◆ hash_len_

size_t SSL_HANDSHAKE::hash_len_ = 0
private

◆ hints

UniquePtr<SSL_HANDSHAKE_HINTS> SSL_HANDSHAKE::hints

◆ hints_requested

bool SSL_HANDSHAKE::hints_requested

◆ in_early_data

bool SSL_HANDSHAKE::in_early_data

◆ in_false_start

bool SSL_HANDSHAKE::in_false_start

◆ inner_client_random

uint8_t SSL_HANDSHAKE::inner_client_random[SSL3_RANDOM_SIZE] = {0}

◆ inner_extensions_sent

uint32_t SSL_HANDSHAKE::inner_extensions_sent = 0

◆ inner_transcript

SSLTranscript SSL_HANDSHAKE::inner_transcript

◆ kAllowUniquePtr

constexpr bool SSL_HANDSHAKE::kAllowUniquePtr = true
staticconstexpr

◆ key_block

Array<uint8_t> SSL_HANDSHAKE::key_block

◆ key_share_bytes

Array<uint8_t> SSL_HANDSHAKE::key_share_bytes

◆ key_shares

UniquePtr<SSLKeyShare> SSL_HANDSHAKE::key_shares[2]

◆ local_pubkey

UniquePtr<EVP_PKEY> SSL_HANDSHAKE::local_pubkey

◆ max_version

uint16_t SSL_HANDSHAKE::max_version = 0

◆ min_version

uint16_t SSL_HANDSHAKE::min_version = 0

◆ new_cipher

const SSL_CIPHER* SSL_HANDSHAKE::new_cipher = nullptr

◆ new_session

UniquePtr<SSL_SESSION> SSL_HANDSHAKE::new_session

◆ next_proto_neg_seen

bool SSL_HANDSHAKE::next_proto_neg_seen

◆ ocsp_stapling_requested

bool SSL_HANDSHAKE::ocsp_stapling_requested

◆ peer_delegated_credential_sigalgs

Array<uint16_t> SSL_HANDSHAKE::peer_delegated_credential_sigalgs

◆ peer_key

Array<uint8_t> SSL_HANDSHAKE::peer_key

◆ peer_psk_identity_hint

UniquePtr<char> SSL_HANDSHAKE::peer_psk_identity_hint

◆ peer_pubkey

UniquePtr<EVP_PKEY> SSL_HANDSHAKE::peer_pubkey

◆ peer_sigalgs

Array<uint16_t> SSL_HANDSHAKE::peer_sigalgs

◆ peer_supported_group_list

Array<uint16_t> SSL_HANDSHAKE::peer_supported_group_list

◆ pending_private_key_op

bool SSL_HANDSHAKE::pending_private_key_op

◆ received

uint32_t SSL_HANDSHAKE::received

◆ scts_requested

bool SSL_HANDSHAKE::scts_requested

◆ secret_

uint8_t SSL_HANDSHAKE::secret_[SSL_MAX_MD_SIZE] = {0}
private

◆ selected_ech_config

UniquePtr<ECHConfig> SSL_HANDSHAKE::selected_ech_config

◆ sent

uint32_t SSL_HANDSHAKE::sent = 0

◆ server_handshake_secret_

uint8_t SSL_HANDSHAKE::server_handshake_secret_[SSL_MAX_MD_SIZE] = {0}
private

◆ server_params

Array<uint8_t> SSL_HANDSHAKE::server_params

◆ server_traffic_secret_0_

uint8_t SSL_HANDSHAKE::server_traffic_secret_0_[SSL_MAX_MD_SIZE] = {0}
private

◆ session_id

uint8_t SSL_HANDSHAKE::session_id[SSL_MAX_SSL_SESSION_ID_LENGTH] = {0}

◆ session_id_len

uint8_t SSL_HANDSHAKE::session_id_len = 0

◆ should_ack_sni

bool SSL_HANDSHAKE::should_ack_sni

◆ ssl

SSL* SSL_HANDSHAKE::ssl

◆ state

int SSL_HANDSHAKE::state = 0

◆ ticket_expected

bool SSL_HANDSHAKE::ticket_expected

◆ tls13_state

int SSL_HANDSHAKE::tls13_state = 0

◆ transcript

SSLTranscript SSL_HANDSHAKE::transcript

◆ wait

enum ssl_hs_wait_t SSL_HANDSHAKE::wait = ssl_hs_ok

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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:48