Enumerations | Functions | Variables
tls13_client.cc File Reference
#include <openssl/ssl.h>
#include <assert.h>
#include <limits.h>
#include <string.h>
#include <utility>
#include <openssl/bytestring.h>
#include <openssl/digest.h>
#include <openssl/err.h>
#include <openssl/mem.h>
#include <openssl/sha.h>
#include <openssl/stack.h>
#include "../crypto/internal.h"
#include "internal.h"
Include dependency graph for tls13_client.cc:

Go to the source code of this file.

Enumerations

enum  client_hs_state_t {
  state_read_hello_retry_request = 0, state_send_second_client_hello, state_read_server_hello, state_read_encrypted_extensions,
  state_read_certificate_request, state_read_server_certificate, state_read_server_certificate_verify, state_server_certificate_reverify,
  state_read_server_finished, state_send_end_of_early_data, state_send_client_encrypted_extensions, state_send_client_certificate,
  state_send_client_certificate_verify, state_complete_second_flight, state_done
}
 

Functions

static bool check_ech_confirmation (const SSL_HANDSHAKE *hs, bool *out_accepted, uint8_t *out_alert, const ParsedServerHello &server_hello)
 
static bool close_early_data (SSL_HANDSHAKE *hs, ssl_encryption_level_t level)
 
static enum ssl_hs_wait_t do_complete_second_flight (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_certificate_request (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_encrypted_extensions (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_hello_retry_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_certificate_verify (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_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_encrypted_extensions (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_end_of_early_data (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_second_client_hello (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_server_certificate_reverify (SSL_HANDSHAKE *hs)
 
static bool is_hello_retry_request (const ParsedServerHello &server_hello)
 
static bool parse_server_hello_tls13 (const SSL_HANDSHAKE *hs, ParsedServerHello *out, uint8_t *out_alert, const SSLMessage &msg)
 
enum ssl_hs_wait_t tls13_client_handshake (SSL_HANDSHAKE *hs)
 
const char * tls13_client_handshake_state (SSL_HANDSHAKE *hs)
 
UniquePtr< SSL_SESSIONtls13_create_session_with_ticket (SSL *ssl, CBS *body)
 
bool tls13_process_new_session_ticket (SSL *ssl, const SSLMessage &msg)
 

Variables

static const uint8_t kZeroes [EVP_MAX_MD_SIZE] = {0}
 

Enumeration Type Documentation

◆ client_hs_state_t

Enumerator
state_read_hello_retry_request 
state_send_second_client_hello 
state_read_server_hello 
state_read_encrypted_extensions 
state_read_certificate_request 
state_read_server_certificate 
state_read_server_certificate_verify 
state_server_certificate_reverify 
state_read_server_finished 
state_send_end_of_early_data 
state_send_client_encrypted_extensions 
state_send_client_certificate 
state_send_client_certificate_verify 
state_complete_second_flight 
state_done 

Definition at line 36 of file tls13_client.cc.

Function Documentation

◆ check_ech_confirmation()

static bool check_ech_confirmation ( const SSL_HANDSHAKE hs,
bool out_accepted,
uint8_t out_alert,
const ParsedServerHello server_hello 
)
static

Definition at line 127 of file tls13_client.cc.

◆ close_early_data()

static bool close_early_data ( SSL_HANDSHAKE hs,
ssl_encryption_level_t  level 
)
static

Definition at line 58 of file tls13_client.cc.

◆ do_complete_second_flight()

static enum ssl_hs_wait_t do_complete_second_flight ( SSL_HANDSHAKE hs)
static

Definition at line 889 of file tls13_client.cc.

◆ do_read_certificate_request()

static enum ssl_hs_wait_t do_read_certificate_request ( SSL_HANDSHAKE hs)
static

Definition at line 617 of file tls13_client.cc.

◆ do_read_encrypted_extensions()

static enum ssl_hs_wait_t do_read_encrypted_extensions ( SSL_HANDSHAKE hs)
static

Definition at line 535 of file tls13_client.cc.

◆ do_read_hello_retry_request()

static enum ssl_hs_wait_t do_read_hello_retry_request ( SSL_HANDSHAKE hs)
static

Definition at line 171 of file tls13_client.cc.

◆ do_read_server_certificate()

static enum ssl_hs_wait_t do_read_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 688 of file tls13_client.cc.

◆ do_read_server_certificate_verify()

static enum ssl_hs_wait_t do_read_server_certificate_verify ( SSL_HANDSHAKE hs)
static

Definition at line 710 of file tls13_client.cc.

◆ do_read_server_finished()

static enum ssl_hs_wait_t do_read_server_finished ( SSL_HANDSHAKE hs)
static

Definition at line 751 of file tls13_client.cc.

◆ do_read_server_hello()

static enum ssl_hs_wait_t do_read_server_hello ( SSL_HANDSHAKE hs)
static

Definition at line 354 of file tls13_client.cc.

◆ do_send_client_certificate()

static enum ssl_hs_wait_t do_send_client_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 829 of file tls13_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 865 of file tls13_client.cc.

◆ do_send_client_encrypted_extensions()

static enum ssl_hs_wait_t do_send_client_encrypted_extensions ( SSL_HANDSHAKE hs)
static

Definition at line 803 of file tls13_client.cc.

◆ do_send_end_of_early_data()

static enum ssl_hs_wait_t do_send_end_of_early_data ( SSL_HANDSHAKE hs)
static

Definition at line 779 of file tls13_client.cc.

◆ do_send_second_client_hello()

static enum ssl_hs_wait_t do_send_second_client_hello ( SSL_HANDSHAKE hs)
static

Definition at line 334 of file tls13_client.cc.

◆ do_server_certificate_reverify()

static enum ssl_hs_wait_t do_server_certificate_reverify ( SSL_HANDSHAKE hs)
static

Definition at line 737 of file tls13_client.cc.

◆ is_hello_retry_request()

static bool is_hello_retry_request ( const ParsedServerHello server_hello)
static

Definition at line 123 of file tls13_client.cc.

◆ parse_server_hello_tls13()

static bool parse_server_hello_tls13 ( const SSL_HANDSHAKE hs,
ParsedServerHello out,
uint8_t out_alert,
const SSLMessage msg 
)
static

Definition at line 104 of file tls13_client.cc.

◆ tls13_client_handshake()

enum ssl_hs_wait_t tls13_client_handshake ( SSL_HANDSHAKE hs)

Definition at line 924 of file tls13_client.cc.

◆ tls13_client_handshake_state()

const char* tls13_client_handshake_state ( SSL_HANDSHAKE hs)

Definition at line 989 of file tls13_client.cc.

◆ tls13_create_session_with_ticket()

UniquePtr<SSL_SESSION> tls13_create_session_with_ticket ( SSL ssl,
CBS body 
)

Definition at line 1052 of file tls13_client.cc.

◆ tls13_process_new_session_ticket()

bool tls13_process_new_session_ticket ( SSL ssl,
const SSLMessage msg 
)

Definition at line 1028 of file tls13_client.cc.

Variable Documentation

◆ kZeroes

const uint8_t kZeroes[EVP_MAX_MD_SIZE] = {0}
static

Definition at line 54 of file tls13_client.cc.



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