Functions
handshake_server.cc File Reference
#include <openssl/ssl.h>
#include <assert.h>
#include <string.h>
#include <openssl/bn.h>
#include <openssl/bytestring.h>
#include <openssl/cipher.h>
#include <openssl/curve25519.h>
#include <openssl/digest.h>
#include <openssl/ec.h>
#include <openssl/ecdsa.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/hmac.h>
#include <openssl/md5.h>
#include <openssl/mem.h>
#include <openssl/nid.h>
#include <openssl/rand.h>
#include <openssl/x509.h>
#include "internal.h"
#include "../crypto/internal.h"
Include dependency graph for handshake_server.cc:

Go to the source code of this file.

Functions

static const SSL_CIPHERchoose_cipher (SSL_HANDSHAKE *hs, const SSL_CLIENT_HELLO *client_hello, const SSLCipherPreferenceList *server_pref)
 
static void copy_suffix (Span< uint8_t > out, Span< const uint8_t > in)
 
static bool decrypt_ech (SSL_HANDSHAKE *hs, uint8_t *out_alert, const SSL_CLIENT_HELLO *client_hello)
 
static enum ssl_hs_wait_t do_finish_server_handshake (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_change_cipher_spec (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_channel_id (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_certificate_verify (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_finished (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_hello (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_hello_after_ech (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_client_key_exchange (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_read_next_proto (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_select_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_select_parameters (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_server_certificate (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_server_finished (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_server_hello (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_server_hello_done (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_send_server_key_exchange (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_start_accept (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_tls13 (SSL_HANDSHAKE *hs)
 
static enum ssl_hs_wait_t do_verify_client_certificate (SSL_HANDSHAKE *hs)
 
static bool extract_sni (SSL_HANDSHAKE *hs, uint8_t *out_alert, const SSL_CLIENT_HELLO *client_hello)
 
static bool is_probably_jdk11_with_tls13 (const SSL_CLIENT_HELLO *client_hello)
 
static bool negotiate_version (SSL_HANDSHAKE *hs, uint8_t *out_alert, const SSL_CLIENT_HELLO *client_hello)
 
BSSL_NAMESPACE_BEGIN bool ssl_client_cipher_list_contains_cipher (const SSL_CLIENT_HELLO *client_hello, uint16_t id)
 
static void ssl_get_compatible_server_ciphers (SSL_HANDSHAKE *hs, uint32_t *out_mask_k, uint32_t *out_mask_a)
 
static UniquePtr< STACK_OF(SSL_CIPHER)> ssl_parse_client_cipher_list (const SSL_CLIENT_HELLO *client_hello)
 
enum ssl_hs_wait_t ssl_server_handshake (SSL_HANDSHAKE *hs)
 
const char * ssl_server_handshake_state (SSL_HANDSHAKE *hs)
 

Function Documentation

◆ choose_cipher()

static const SSL_CIPHER* choose_cipher ( SSL_HANDSHAKE hs,
const SSL_CLIENT_HELLO client_hello,
const SSLCipherPreferenceList server_pref 
)
static

Definition at line 330 of file handshake_server.cc.

◆ copy_suffix()

static void copy_suffix ( Span< uint8_t out,
Span< const uint8_t in 
)
static

Definition at line 975 of file handshake_server.cc.

◆ decrypt_ech()

static bool decrypt_ech ( SSL_HANDSHAKE hs,
uint8_t out_alert,
const SSL_CLIENT_HELLO client_hello 
)
static

Definition at line 507 of file handshake_server.cc.

◆ do_finish_server_handshake()

static enum ssl_hs_wait_t do_finish_server_handshake ( SSL_HANDSHAKE hs)
static

Definition at line 1780 of file handshake_server.cc.

◆ do_process_change_cipher_spec()

static enum ssl_hs_wait_t do_process_change_cipher_spec ( SSL_HANDSHAKE hs)
static

Definition at line 1638 of file handshake_server.cc.

◆ do_read_change_cipher_spec()

static enum ssl_hs_wait_t do_read_change_cipher_spec ( SSL_HANDSHAKE hs)
static

Definition at line 1630 of file handshake_server.cc.

◆ do_read_channel_id()

static enum ssl_hs_wait_t do_read_channel_id ( SSL_HANDSHAKE hs)
static

Definition at line 1683 of file handshake_server.cc.

◆ do_read_client_certificate()

static enum ssl_hs_wait_t do_read_client_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 1256 of file handshake_server.cc.

◆ do_read_client_certificate_verify()

static enum ssl_hs_wait_t do_read_client_certificate_verify ( SSL_HANDSHAKE hs)
static

Definition at line 1551 of file handshake_server.cc.

◆ do_read_client_finished()

static enum ssl_hs_wait_t do_read_client_finished ( SSL_HANDSHAKE hs)
static

Definition at line 1707 of file handshake_server.cc.

◆ do_read_client_hello()

static enum ssl_hs_wait_t do_read_client_hello ( SSL_HANDSHAKE hs)
static

Definition at line 640 of file handshake_server.cc.

◆ do_read_client_hello_after_ech()

static enum ssl_hs_wait_t do_read_client_hello_after_ech ( SSL_HANDSHAKE hs)
static

Definition at line 693 of file handshake_server.cc.

◆ do_read_client_key_exchange()

static enum ssl_hs_wait_t do_read_client_key_exchange ( SSL_HANDSHAKE hs)
static

Definition at line 1338 of file handshake_server.cc.

◆ do_read_next_proto()

static enum ssl_hs_wait_t do_read_next_proto ( SSL_HANDSHAKE hs)
static

Definition at line 1647 of file handshake_server.cc.

◆ do_select_certificate()

static enum ssl_hs_wait_t do_select_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 764 of file handshake_server.cc.

◆ do_select_parameters()

static enum ssl_hs_wait_t do_select_parameters ( SSL_HANDSHAKE hs)
static

Definition at line 851 of file handshake_server.cc.

◆ do_send_server_certificate()

static enum ssl_hs_wait_t do_send_server_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 1058 of file handshake_server.cc.

◆ do_send_server_finished()

static enum ssl_hs_wait_t do_send_server_finished ( SSL_HANDSHAKE hs)
static

Definition at line 1731 of file handshake_server.cc.

◆ do_send_server_hello()

static enum ssl_hs_wait_t do_send_server_hello ( SSL_HANDSHAKE hs)
static

Definition at line 980 of file handshake_server.cc.

◆ do_send_server_hello_done()

static enum ssl_hs_wait_t do_send_server_hello_done ( SSL_HANDSHAKE hs)
static

Definition at line 1222 of file handshake_server.cc.

◆ do_send_server_key_exchange()

static enum ssl_hs_wait_t do_send_server_key_exchange ( SSL_HANDSHAKE hs)
static

Definition at line 1148 of file handshake_server.cc.

◆ do_start_accept()

static enum ssl_hs_wait_t do_start_accept ( SSL_HANDSHAKE hs)
static

Definition at line 399 of file handshake_server.cc.

◆ do_tls13()

static enum ssl_hs_wait_t do_tls13 ( SSL_HANDSHAKE hs)
static

Definition at line 841 of file handshake_server.cc.

◆ do_verify_client_certificate()

static enum ssl_hs_wait_t do_verify_client_certificate ( SSL_HANDSHAKE hs)
static

Definition at line 1322 of file handshake_server.cc.

◆ extract_sni()

static bool extract_sni ( SSL_HANDSHAKE hs,
uint8_t out_alert,
const SSL_CLIENT_HELLO client_hello 
)
static

Definition at line 592 of file handshake_server.cc.

◆ is_probably_jdk11_with_tls13()

static bool is_probably_jdk11_with_tls13 ( const SSL_CLIENT_HELLO client_hello)
static

Definition at line 407 of file handshake_server.cc.

◆ negotiate_version()

static bool negotiate_version ( SSL_HANDSHAKE hs,
uint8_t out_alert,
const SSL_CLIENT_HELLO client_hello 
)
static

Definition at line 196 of file handshake_server.cc.

◆ ssl_client_cipher_list_contains_cipher()

BSSL_NAMESPACE_BEGIN bool ssl_client_cipher_list_contains_cipher ( const SSL_CLIENT_HELLO client_hello,
uint16_t  id 
)

Definition at line 176 of file handshake_server.cc.

◆ ssl_get_compatible_server_ciphers()

static void ssl_get_compatible_server_ciphers ( SSL_HANDSHAKE hs,
uint32_t out_mask_k,
uint32_t out_mask_a 
)
static

Definition at line 301 of file handshake_server.cc.

◆ ssl_parse_client_cipher_list()

static UniquePtr<STACK_OF(SSL_CIPHER)> ssl_parse_client_cipher_list ( const SSL_CLIENT_HELLO client_hello)
static

Definition at line 267 of file handshake_server.cc.

◆ ssl_server_handshake()

enum ssl_hs_wait_t ssl_server_handshake ( SSL_HANDSHAKE hs)

Definition at line 1816 of file handshake_server.cc.

◆ ssl_server_handshake_state()

const char* ssl_server_handshake_state ( SSL_HANDSHAKE hs)

Definition at line 1903 of file handshake_server.cc.



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