Enumerations | Functions
handshake_client.cc File Reference
#include <openssl/ssl.h>
#include <assert.h>
#include <limits.h>
#include <string.h>
#include <utility>
#include <openssl/aead.h>
#include <openssl/bn.h>
#include <openssl/bytestring.h>
#include <openssl/ec_key.h>
#include <openssl/ecdsa.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/hpke.h>
#include <openssl/md5.h>
#include <openssl/mem.h>
#include <openssl/rand.h>
#include <openssl/sha.h>
#include "../crypto/internal.h"
#include "internal.h"
Include dependency graph for handshake_client.cc:

Go to the source code of this file.

Enumerations

enum  ssl_client_hs_state_t {
  state_start_connect = 0, state_enter_early_data, state_early_reverify_server_certificate, state_read_hello_verify_request,
  state_read_server_hello, state_tls13, state_read_server_certificate, state_read_certificate_status,
  state_verify_server_certificate, state_reverify_server_certificate, state_read_server_key_exchange, state_read_certificate_request,
  state_read_server_hello_done, state_send_client_certificate, state_send_client_key_exchange, state_send_client_certificate_verify,
  state_send_client_finished, state_finish_flight, state_read_session_ticket, state_process_change_cipher_spec,
  state_read_server_finished, state_finish_client_handshake, state_done
}
 

Functions

static bool can_false_start (const SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_early_reverify_server_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_enter_early_data (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_finish_client_handshake (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_finish_flight (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_process_change_cipher_spec (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_certificate_request (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_certificate_status (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_hello_verify_request (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_server_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_server_finished (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_server_hello (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_server_hello_done (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_server_key_exchange (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_session_ticket (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_reverify_server_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_client_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_client_certificate_verify (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_client_finished (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_client_key_exchange (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_start_connect (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_tls13 (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_verify_server_certificate (SSL_HANDSHAKE *hs)
 
static bool parse_server_version (const SSL_HANDSHAKE *hs, uint16_t *out_version, uint8_t *out_alert, const ParsedServerHello &server_hello)
 
static ssl_early_data_reason_t should_offer_early_data (const SSL_HANDSHAKE *hs)
 
bool ssl_add_client_hello (SSL_HANDSHAKE *hs)
 
enum ssl_hs_wait_t ssl_client_handshake (SSL_HANDSHAKE *hs)
 
const char * ssl_client_handshake_state (SSL_HANDSHAKE *hs)
 
void ssl_done_writing_client_hello (SSL_HANDSHAKE *hs)
 
static void ssl_get_client_disabled (const SSL_HANDSHAKE *hs, uint32_t *out_mask_a, uint32_t *out_mask_k)
 
bool ssl_parse_server_hello (ParsedServerHello *out, uint8_t *out_alert, const SSLMessage &msg)
 
static bool ssl_write_client_cipher_list (const SSL_HANDSHAKE *hs, CBB *out, ssl_client_hello_type_t type)
 
bool ssl_write_client_hello_without_extensions (const SSL_HANDSHAKE *hs, CBB *cbb, ssl_client_hello_type_t type, bool empty_session_id)
 

Enumeration Type Documentation

◆ ssl_client_hs_state_t

Enumerator
state_start_connect 
state_enter_early_data 
state_early_reverify_server_certificate 
state_read_hello_verify_request 
state_read_server_hello 
state_tls13 
state_read_server_certificate 
state_read_certificate_status 
state_verify_server_certificate 
state_reverify_server_certificate 
state_read_server_key_exchange 
state_read_certificate_request 
state_read_server_hello_done 
state_send_client_certificate 
state_send_client_key_exchange 
state_send_client_certificate_verify 
state_send_client_finished 
state_finish_flight 
state_read_session_ticket 
state_process_change_cipher_spec 
state_read_server_finished 
state_finish_client_handshake 
state_done 

Definition at line 177 of file handshake_client.cc.

Function Documentation

◆ can_false_start()

static bool can_false_start ( const SSL_HANDSHAKE hs)
static

Definition at line 1634 of file handshake_client.cc.

◆ do_early_reverify_server_certificate()

static enum ssl_hs_wait_t do_early_reverify_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 566 of file handshake_client.cc.

◆ do_enter_early_data()

static enum ssl_hs_wait_t do_enter_early_data ( SSL_HANDSHAKE hs)
static

Definition at line 536 of file handshake_client.cc.

◆ do_finish_client_handshake()

static enum ssl_hs_wait_t do_finish_client_handshake ( SSL_HANDSHAKE hs)
static

Definition at line 1794 of file handshake_client.cc.

◆ do_finish_flight()

static enum ssl_hs_wait_t do_finish_flight ( SSL_HANDSHAKE hs)
static

Definition at line 1673 of file handshake_client.cc.

◆ do_process_change_cipher_spec()

static enum ssl_hs_wait_t do_process_change_cipher_spec ( SSL_HANDSHAKE hs)
static

Definition at line 1769 of file handshake_client.cc.

◆ do_read_certificate_request()

static enum ssl_hs_wait_t do_read_certificate_request ( SSL_HANDSHAKE hs)
static

Definition at line 1211 of file handshake_client.cc.

◆ do_read_certificate_status()

static enum ssl_hs_wait_t do_read_certificate_status ( SSL_HANDSHAKE hs)
static

Definition at line 948 of file handshake_client.cc.

◆ do_read_hello_verify_request()

static enum ssl_hs_wait_t do_read_hello_verify_request ( SSL_HANDSHAKE hs)
static

Definition at line 600 of file handshake_client.cc.

◆ do_read_server_certificate()

static enum ssl_hs_wait_t do_read_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 901 of file handshake_client.cc.

◆ do_read_server_finished()

static enum ssl_hs_wait_t do_read_server_finished ( SSL_HANDSHAKE hs)
static

Definition at line 1778 of file handshake_client.cc.

◆ do_read_server_hello()

static enum ssl_hs_wait_t do_read_server_hello ( SSL_HANDSHAKE hs)
static

Definition at line 680 of file handshake_client.cc.

◆ do_read_server_hello_done()

static enum ssl_hs_wait_t do_read_server_hello_done ( SSL_HANDSHAKE hs)
static

Definition at line 1283 of file handshake_client.cc.

◆ do_read_server_key_exchange()

static enum ssl_hs_wait_t do_read_server_key_exchange ( SSL_HANDSHAKE hs)
static

Definition at line 1034 of file handshake_client.cc.

◆ do_read_session_ticket()

static enum ssl_hs_wait_t do_read_session_ticket ( SSL_HANDSHAKE hs)
static

Definition at line 1701 of file handshake_client.cc.

◆ do_reverify_server_certificate()

static enum ssl_hs_wait_t do_reverify_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 1017 of file handshake_client.cc.

◆ do_send_client_certificate()

static enum ssl_hs_wait_t do_send_client_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 1314 of file handshake_client.cc.

◆ do_send_client_certificate_verify()

static enum ssl_hs_wait_t do_send_client_certificate_verify ( SSL_HANDSHAKE hs)
static

Definition at line 1526 of file handshake_client.cc.

◆ do_send_client_finished()

static enum ssl_hs_wait_t do_send_client_finished ( SSL_HANDSHAKE hs)
static

Definition at line 1588 of file handshake_client.cc.

◆ do_send_client_key_exchange()

static enum ssl_hs_wait_t do_send_client_key_exchange ( SSL_HANDSHAKE hs)
static

Definition at line 1359 of file handshake_client.cc.

◆ do_start_connect()

static enum ssl_hs_wait_t do_start_connect ( SSL_HANDSHAKE hs)
static

Definition at line 441 of file handshake_client.cc.

◆ do_tls13()

static enum ssl_hs_wait_t do_tls13 ( SSL_HANDSHAKE hs)
static

Definition at line 891 of file handshake_client.cc.

◆ do_verify_server_certificate()

static enum ssl_hs_wait_t do_verify_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 997 of file handshake_client.cc.

◆ parse_server_version()

static bool parse_server_version ( const SSL_HANDSHAKE hs,
uint16_t out_version,
uint8_t out_alert,
const ParsedServerHello server_hello 
)
static

Definition at line 356 of file handshake_client.cc.

◆ should_offer_early_data()

static ssl_early_data_reason_t should_offer_early_data ( const SSL_HANDSHAKE hs)
static

Definition at line 389 of file handshake_client.cc.

◆ ssl_add_client_hello()

bool ssl_add_client_hello ( SSL_HANDSHAKE hs)

Definition at line 323 of file handshake_client.cc.

◆ ssl_client_handshake()

enum ssl_hs_wait_t ssl_client_handshake ( SSL_HANDSHAKE hs)

Definition at line 1841 of file handshake_client.cc.

◆ ssl_client_handshake_state()

const char* ssl_client_handshake_state ( SSL_HANDSHAKE hs)

Definition at line 1931 of file handshake_client.cc.

◆ ssl_done_writing_client_hello()

void ssl_done_writing_client_hello ( SSL_HANDSHAKE hs)

Definition at line 435 of file handshake_client.cc.

◆ ssl_get_client_disabled()

static void ssl_get_client_disabled ( const SSL_HANDSHAKE hs,
uint32_t out_mask_a,
uint32_t out_mask_k 
)
static

Definition at line 205 of file handshake_client.cc.

◆ ssl_parse_server_hello()

bool ssl_parse_server_hello ( ParsedServerHello out,
uint8_t out_alert,
const SSLMessage msg 
)

Definition at line 648 of file handshake_client.cc.

◆ ssl_write_client_cipher_list()

static bool ssl_write_client_cipher_list ( const SSL_HANDSHAKE hs,
CBB out,
ssl_client_hello_type_t  type 
)
static

Definition at line 218 of file handshake_client.cc.

◆ ssl_write_client_hello_without_extensions()

bool ssl_write_client_hello_without_extensions ( const SSL_HANDSHAKE hs,
CBB cbb,
ssl_client_hello_type_t  type,
bool  empty_session_id 
)

Definition at line 286 of file handshake_client.cc.



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