#include <openssl/base.h>
#include <stdlib.h>
#include <initializer_list>
#include <limits>
#include <new>
#include <type_traits>
#include <utility>
#include <openssl/aead.h>
#include <openssl/curve25519.h>
#include <openssl/err.h>
#include <openssl/hpke.h>
#include <openssl/lhash.h>
#include <openssl/mem.h>
#include <openssl/span.h>
#include <openssl/ssl.h>
#include <openssl/stack.h>
#include "../crypto/err/internal.h"
#include "../crypto/internal.h"
#include "../crypto/lhash/internal.h"
#include <sys/time.h>
Go to the source code of this file.
Classes | |
struct | ALPSConfig |
class | Array< T > |
struct | CERT |
struct | CertCompressionAlg |
struct | DC |
struct | internal::DeleterImpl< T, typename std::enable_if< T::kAllowUniquePtr >::type > |
struct | DTLS1_BITMAP |
struct | DTLS1_STATE |
struct | DTLS_OUTGOING_MESSAGE |
struct | ECHConfig |
class | ECHServerConfig |
class | GrowableArray< T > |
struct | hm_fragment |
struct | hm_header_st |
struct | NamedGroup |
struct | OPENSSL_timeval |
struct | ParsedServerHello |
struct | SSL3_STATE |
struct | ssl_cipher_st |
struct | SSL_CONFIG |
struct | ssl_ctx_st |
struct | ssl_ech_keys_st |
struct | SSL_HANDSHAKE |
struct | SSL_HANDSHAKE_HINTS |
struct | ssl_method_st |
struct | SSL_PROTOCOL_METHOD |
struct | ssl_session_st |
struct | ssl_st |
struct | SSL_X509_METHOD |
class | SSLAEADContext |
class | SSLBuffer |
struct | SSLCipherPreferenceList |
struct | SSLExtension |
class | SSLKeyShare |
struct | SSLMessage |
class | SSLTranscript |
struct | TicketKey |
Namespaces | |
internal | |
Variables | |
const uint8_t | kHelloRetryRequest [SSL3_RANDOM_SIZE] |
const uint8_t | kJDK11DowngradeRandom [8] |
static const size_t | kMaxEarlyDataAccepted = 14336 |
const uint8_t | kTLS12DowngradeRandom [8] |
const uint8_t | kTLS13DowngradeRandom [8] |
const SSL_X509_METHOD | ssl_crypto_x509_method |
const SSL_X509_METHOD | ssl_noop_x509_method |
#define CONSTEXPR_ARRAY constexpr |
Definition at line 253 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define DTLS1_AL_HEADER_LENGTH 2 |
Definition at line 2839 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define DTLS1_CCS_HEADER_LENGTH 1 |
Definition at line 2837 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define DTLS1_COOKIE_LENGTH 256 |
Definition at line 2831 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define DTLS1_HM_HEADER_LENGTH 12 |
Definition at line 2835 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define DTLS1_RT_HEADER_LENGTH 13 |
Definition at line 2833 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define ECH_CLIENT_INNER 1 |
Definition at line 1493 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define ECH_CLIENT_OUTER 0 |
Definition at line 1492 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define ECH_CONFIRMATION_SIGNAL_LEN 8 |
Definition at line 1515 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define HAS_VIRTUAL_DESTRUCTOR void operator delete(void *) { abort(); } |
Definition at line 238 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define NAMED_CURVE_TYPE 3 |
Definition at line 2343 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define PURE_VIRTUAL { abort(); } |
Definition at line 244 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_3DES 0x00000001u |
Definition at line 555 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_aCERT (SSL_aRSA | SSL_aECDSA) |
Definition at line 552 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AEAD 0x00000002u |
Definition at line 568 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_aECDSA 0x00000002u |
Definition at line 547 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AES (SSL_AES128 | SSL_AES256 | SSL_AES128GCM | SSL_AES256GCM) |
Definition at line 563 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AES128 0x00000002u |
Definition at line 556 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AES128GCM 0x00000008u |
Definition at line 558 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AES256 0x00000004u |
Definition at line 557 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_AES256GCM 0x00000010u |
Definition at line 559 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_aGENERIC 0x00000008u |
Definition at line 550 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_aPSK 0x00000004u |
Definition at line 549 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_aRSA 0x00000001u |
Definition at line 546 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_CHACHA20POLY1305 0x00000040u |
Definition at line 561 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_eNULL 0x00000020u |
Definition at line 560 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_HANDSHAKE_MAC_DEFAULT 0x1 |
Definition at line 571 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_HANDSHAKE_MAC_SHA256 0x2 |
Definition at line 572 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_HANDSHAKE_MAC_SHA384 0x4 |
Definition at line 573 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_kECDHE 0x00000002u |
Definition at line 540 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_kGENERIC 0x00000008u |
Definition at line 543 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_kPSK 0x00000004u |
Definition at line 542 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_kRSA 0x00000001u |
Definition at line 539 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_MAX_HANDSHAKE_FLIGHT 7 |
Definition at line 1153 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_MAX_MD_SIZE 48 |
Definition at line 576 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_PSK_DHE_KE 0x1 |
Definition at line 3094 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_SESSION_DUP_ALL (SSL_SESSION_INCLUDE_TICKET | SSL_SESSION_INCLUDE_NONAUTH) |
Definition at line 3173 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_SESSION_DUP_AUTH_ONLY 0x0 |
Definition at line 3170 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_SESSION_INCLUDE_NONAUTH 0x2 |
Definition at line 3172 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_SESSION_INCLUDE_TICKET 0x1 |
Definition at line 3171 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define SSL_SHA1 0x00000001u |
Definition at line 566 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define TLSEXT_CHANNEL_ID_SIZE 128 |
Definition at line 2340 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
#define tlsext_tick_md EVP_sha256 |
Definition at line 3329 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum dtls1_use_epoch_t |
Enumerator | |
---|---|
dtls1_use_previous_epoch | |
dtls1_use_current_epoch |
Definition at line 1002 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum handback_t |
Enumerator | |
---|---|
handback_after_session_resumption | |
handback_after_ecdhe | |
handback_after_handshake | |
handback_tls13 | |
handback_max_value |
Definition at line 1688 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Enumerator | |
---|---|
ssl_cert_verify_server | |
ssl_cert_verify_client | |
ssl_cert_verify_channel_id |
Definition at line 2181 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Enumerator | |
---|---|
ssl_client_hello_unencrypted | |
ssl_client_hello_inner | |
ssl_client_hello_outer |
Definition at line 1485 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_ech_status_t |
Enumerator | |
---|---|
ssl_ech_none | |
ssl_ech_accepted | |
ssl_ech_rejected |
Definition at line 2609 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_grease_index_t |
Enumerator | |
---|---|
ssl_grease_cipher | |
ssl_grease_group | |
ssl_grease_extension1 | |
ssl_grease_extension2 | |
ssl_grease_version | |
ssl_grease_ticket_extension | |
ssl_grease_ech_config_id | |
ssl_grease_last_index |
Definition at line 1630 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_hs_wait_t |
Definition at line 1609 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_key_usage_t |
Enumerator | |
---|---|
key_usage_digital_signature | |
key_usage_encipherment |
Definition at line 1320 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_open_record_t |
Enumerator | |
---|---|
ssl_open_record_success | |
ssl_open_record_discard | |
ssl_open_record_partial | |
ssl_open_record_close_notify | |
ssl_open_record_error |
Definition at line 933 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
enum ssl_shutdown_t |
Enumerator | |
---|---|
ssl_shutdown_none | |
ssl_shutdown_close_notify | |
ssl_shutdown_error |
Definition at line 2603 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Definition at line 1641 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Definition at line 1666 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Span<const SSL_CIPHER> AllCiphers | ( | ) |
Definition at line 465 of file ssl_cipher.cc.
OPENSSL_EXPORT bool CBBFinishArray | ( | CBB * | cbb, |
Array< uint8_t > * | out | ||
) |
Definition at line 190 of file ssl_lib.cc.
void Delete | ( | T * | t | ) |
Definition at line 208 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Definition at line 595 of file d1_both.cc.
Definition at line 591 of file d1_both.cc.
Definition at line 520 of file d1_both.cc.
Definition at line 813 of file d1_both.cc.
bool dtls1_get_message | ( | const SSL * | ssl, |
SSLMessage * | out | ||
) |
Definition at line 407 of file d1_both.cc.
Definition at line 506 of file d1_both.cc.
unsigned int dtls1_min_mtu | ( | void | ) |
Definition at line 831 of file d1_both.cc.
void dtls1_next_message | ( | SSL * | ssl | ) |
Definition at line 425 of file d1_both.cc.
ssl_open_record_t dtls1_open_change_cipher_spec | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 470 of file d1_both.cc.
ssl_open_record_t dtls1_open_handshake | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 296 of file d1_both.cc.
bool dtls1_parse_fragment | ( | CBS * | cbs, |
struct hm_header_st * | out_hdr, | ||
CBS * | out_body | ||
) |
Definition at line 454 of file d1_both.cc.
Definition at line 820 of file d1_both.cc.
void dtls_clear_outgoing_messages | ( | SSL * | ssl | ) |
Definition at line 495 of file d1_both.cc.
Definition at line 439 of file d1_both.cc.
size_t dtls_max_seal_overhead | ( | const SSL * | ssl, |
enum dtls1_use_epoch_t | use_epoch | ||
) |
Definition at line 284 of file dtls_record.cc.
enum ssl_open_record_t dtls_open_record | ( | SSL * | ssl, |
uint8_t * | out_type, | ||
Span< uint8_t > * | out, | ||
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 177 of file dtls_record.cc.
size_t dtls_seal_prefix_len | ( | const SSL * | ssl, |
enum dtls1_use_epoch_t | use_epoch | ||
) |
Definition at line 289 of file dtls_record.cc.
bool dtls_seal_record | ( | SSL * | ssl, |
uint8_t * | out, | ||
size_t * | out_len, | ||
size_t | max_out, | ||
uint8_t | type, | ||
const uint8_t * | in, | ||
size_t | in_len, | ||
enum dtls1_use_epoch_t | use_epoch | ||
) |
Definition at line 294 of file dtls_record.cc.
Definition at line 227 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Span<const NamedGroup> NamedGroups | ( | ) |
Definition at line 304 of file ssl_key_share.cc.
Definition at line 195 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
bool ssl_add_cert_chain | ( | SSL_HANDSHAKE * | hs, |
CBB * | cbb | ||
) |
Definition at line 410 of file ssl_cert.cc.
bool ssl_add_client_CA_list | ( | SSL_HANDSHAKE * | hs, |
CBB * | cbb | ||
) |
Definition at line 675 of file ssl_cert.cc.
bool ssl_add_client_hello | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 323 of file handshake_client.cc.
bool ssl_add_clienthello_tlsext | ( | SSL_HANDSHAKE * | hs, |
CBB * | out, | ||
CBB * | out_encoded, | ||
bool * | out_needs_psk_binder, | ||
ssl_client_hello_type_t | type, | ||
size_t | header_len | ||
) |
Definition at line 3426 of file extensions.cc.
Definition at line 220 of file handshake.cc.
bool ssl_add_serverhello_tlsext | ( | SSL_HANDSHAKE * | hs, |
CBB * | out | ||
) |
Definition at line 3552 of file extensions.cc.
bool ssl_add_supported_versions | ( | const SSL_HANDSHAKE * | hs, |
CBB * | cbb, | ||
uint16_t | extra_min_version | ||
) |
Definition at line 276 of file ssl_versions.cc.
Definition at line 226 of file ssl_lib.cc.
Definition at line 222 of file ssl_lib.cc.
bool ssl_cert_check_key_usage | ( | const CBS * | in, |
enum ssl_key_usage_t | bit | ||
) |
Definition at line 542 of file ssl_cert.cc.
Definition at line 518 of file ssl_cert.cc.
void ssl_cert_clear_certs | ( | CERT * | cert | ) |
Definition at line 196 of file ssl_cert.cc.
Definition at line 150 of file ssl_cert.cc.
Definition at line 482 of file ssl_cert.cc.
bool ssl_check_leaf_certificate | ( | SSL_HANDSHAKE * | hs, |
EVP_PKEY * | pkey, | ||
const CRYPTO_BUFFER * | leaf | ||
) |
Definition at line 700 of file ssl_cert.cc.
bool ssl_check_message_type | ( | SSL * | ssl, |
const SSLMessage & | msg, | ||
int | type | ||
) |
Definition at line 209 of file handshake.cc.
const SSL_CIPHER* ssl_choose_tls13_cipher | ( | CBS | cipher_suites, |
uint16_t | version, | ||
uint16_t | group_id | ||
) |
Definition at line 694 of file s3_both.cc.
Definition at line 1282 of file ssl_cipher.cc.
bool ssl_cipher_get_evp_aead | ( | const EVP_AEAD ** | out_aead, |
size_t * | out_mac_secret_len, | ||
size_t * | out_fixed_iv_len, | ||
const SSL_CIPHER * | cipher, | ||
uint16_t | version, | ||
bool | is_dtls | ||
) |
Definition at line 559 of file ssl_cipher.cc.
size_t ssl_cipher_get_record_split_len | ( | const SSL_CIPHER * | cipher | ) |
Definition at line 1305 of file ssl_cipher.cc.
bool ssl_cipher_requires_server_key_exchange | ( | const SSL_CIPHER * | cipher | ) |
Definition at line 1299 of file ssl_cipher.cc.
bool ssl_cipher_uses_certificate_auth | ( | const SSL_CIPHER * | cipher | ) |
Definition at line 1295 of file ssl_cipher.cc.
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.
enum ssl_hs_wait_t ssl_client_handshake | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1841 of file handshake_client.cc.
const char* ssl_client_handshake_state | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1931 of file handshake_client.cc.
bool ssl_client_hello_decrypt | ( | EVP_HPKE_CTX * | hpke_ctx, |
Array< uint8_t > * | out, | ||
bool * | out_is_decrypt_error, | ||
const SSL_CLIENT_HELLO * | client_hello_outer, | ||
Span< const uint8_t > | payload | ||
) |
Definition at line 255 of file encrypted_client_hello.cc.
bool ssl_client_hello_get_extension | ( | const SSL_CLIENT_HELLO * | client_hello, |
CBS * | out, | ||
uint16_t | extension_type | ||
) |
Definition at line 283 of file extensions.cc.
OPENSSL_EXPORT bool ssl_client_hello_init | ( | const SSL * | ssl, |
SSL_CLIENT_HELLO * | out, | ||
Span< const uint8_t > | body | ||
) |
Definition at line 211 of file extensions.cc.
Definition at line 492 of file ssl_cert.cc.
bool ssl_create_cipher_list | ( | UniquePtr< SSLCipherPreferenceList > * | out_cipher_list, |
const char * | rule_str, | ||
bool | strict | ||
) |
Definition at line 1152 of file ssl_cipher.cc.
void ssl_ctx_get_current_time | ( | const SSL_CTX * | ctx, |
struct OPENSSL_timeval * | out_clock | ||
) |
Definition at line 360 of file ssl_lib.cc.
Definition at line 403 of file ssl_session.cc.
OPENSSL_EXPORT bool ssl_decode_client_hello_inner | ( | SSL * | ssl, |
uint8_t * | out_alert, | ||
Array< uint8_t > * | out_client_hello_inner, | ||
Span< const uint8_t > | encoded_client_hello_inner, | ||
const SSL_CLIENT_HELLO * | client_hello_outer | ||
) |
Definition at line 125 of file encrypted_client_hello.cc.
Definition at line 316 of file ssl_lib.cc.
void ssl_do_msg_callback | ( | const SSL * | ssl, |
int | is_write, | ||
int | content_type, | ||
Span< const uint8_t > | in | ||
) |
Definition at line 329 of file ssl_lib.cc.
void ssl_done_writing_client_hello | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 435 of file handshake_client.cc.
bool ssl_ech_accept_confirmation | ( | const SSL_HANDSHAKE * | hs, |
Span< uint8_t > | out, | ||
Span< const uint8_t > | client_random, | ||
const SSLTranscript & | transcript, | ||
bool | is_hrr, | ||
Span< const uint8_t > | msg, | ||
size_t | offset | ||
) |
Definition at line 540 of file tls13_enc.cc.
Definition at line 531 of file tls13_enc.cc.
size_t ssl_ech_extension_body_length | ( | const EVP_HPKE_AEAD * | aead, |
size_t | enc_len, | ||
size_t | in_len | ||
) |
bool ssl_encrypt_client_hello | ( | SSL_HANDSHAKE * | hs, |
Span< const uint8_t > | enc | ||
) |
Definition at line 748 of file encrypted_client_hello.cc.
int ssl_encrypt_ticket | ( | SSL_HANDSHAKE * | hs, |
CBB * | out, | ||
const SSL_SESSION * | session | ||
) |
Definition at line 563 of file ssl_session.cc.
bool ssl_ext_key_share_add_serverhello | ( | SSL_HANDSHAKE * | hs, |
CBB * | out | ||
) |
Definition at line 2437 of file extensions.cc.
bool ssl_ext_key_share_parse_clienthello | ( | SSL_HANDSHAKE * | hs, |
bool * | out_found, | ||
Span< const uint8_t > * | out_peer_key, | ||
uint8_t * | out_alert, | ||
const SSL_CLIENT_HELLO * | client_hello | ||
) |
Definition at line 2384 of file extensions.cc.
bool ssl_ext_key_share_parse_serverhello | ( | SSL_HANDSHAKE * | hs, |
Array< uint8_t > * | out_secret, | ||
uint8_t * | out_alert, | ||
CBS * | contents | ||
) |
Definition at line 2350 of file extensions.cc.
bool ssl_ext_pre_shared_key_add_serverhello | ( | SSL_HANDSHAKE * | hs, |
CBB * | out | ||
) |
Definition at line 2094 of file extensions.cc.
bool ssl_ext_pre_shared_key_parse_clienthello | ( | SSL_HANDSHAKE * | hs, |
CBS * | out_ticket, | ||
CBS * | out_binders, | ||
uint32_t * | out_obfuscated_ticket_age, | ||
uint8_t * | out_alert, | ||
const SSL_CLIENT_HELLO * | client_hello, | ||
CBS * | contents | ||
) |
Definition at line 2028 of file extensions.cc.
bool ssl_ext_pre_shared_key_parse_serverhello | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out_alert, | ||
CBS * | contents | ||
) |
Definition at line 2007 of file extensions.cc.
void ssl_get_current_time | ( | const SSL * | ssl, |
struct OPENSSL_timeval * | out_clock | ||
) |
Definition at line 354 of file ssl_lib.cc.
enum ssl_hs_wait_t ssl_get_finished | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 467 of file handshake.cc.
uint16_t ssl_get_grease_value | ( | const SSL_HANDSHAKE * | hs, |
enum ssl_grease_index_t | index | ||
) |
Definition at line 454 of file handshake.cc.
const EVP_MD* ssl_get_handshake_digest | ( | uint16_t | version, |
const SSL_CIPHER * | cipher | ||
) |
Definition at line 637 of file ssl_cipher.cc.
bool ssl_get_local_application_settings | ( | const SSL_HANDSHAKE * | hs, |
Span< const uint8_t > * | out_settings, | ||
Span< const uint8_t > | protocol | ||
) |
Definition at line 2937 of file extensions.cc.
bool ssl_get_new_session | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 352 of file ssl_session.cc.
enum ssl_hs_wait_t ssl_get_prev_session | ( | SSL_HANDSHAKE * | hs, |
UniquePtr< SSL_SESSION > * | out_session, | ||
bool * | out_tickets_supported, | ||
bool * | out_renew_ticket, | ||
const SSL_CLIENT_HELLO * | client_hello | ||
) |
Definition at line 710 of file ssl_session.cc.
bool ssl_get_version_range | ( | const SSL_HANDSHAKE * | hs, |
uint16_t * | out_min_version, | ||
uint16_t * | out_max_version | ||
) |
Definition at line 170 of file ssl_versions.cc.
int ssl_handle_open_record | ( | SSL * | ssl, |
bool * | out_retry, | ||
ssl_open_record_t | ret, | ||
size_t | consumed, | ||
uint8_t | alert | ||
) |
Definition at line 207 of file ssl_buffer.cc.
UniquePtr<SSL_HANDSHAKE> ssl_handshake_new | ( | SSL * | ssl | ) |
Definition at line 196 of file handshake.cc.
const SSL_SESSION* ssl_handshake_session | ( | const SSL_HANDSHAKE * | hs | ) |
Definition at line 581 of file handshake.cc.
bool ssl_has_certificate | ( | const SSL_HANDSHAKE * | hs | ) |
Definition at line 340 of file ssl_cert.cc.
bool ssl_has_client_CAs | ( | const SSL_CONFIG * | cfg | ) |
Definition at line 664 of file ssl_cert.cc.
bool ssl_has_private_key | ( | const SSL_HANDSHAKE * | hs | ) |
Definition at line 136 of file ssl_privkey.cc.
bool ssl_hash_message | ( | SSL_HANDSHAKE * | hs, |
const SSLMessage & | msg | ||
) |
Definition at line 260 of file handshake.cc.
Definition at line 171 of file ssl_session.cc.
Definition at line 1510 of file extensions.cc.
Definition at line 74 of file ssl_privkey.cc.
Definition at line 4286 of file extensions.cc.
Definition at line 1494 of file extensions.cc.
Definition at line 568 of file encrypted_client_hello.cc.
OPENSSL_EXPORT bool ssl_is_valid_ech_public_name | ( | Span< const uint8_t > | public_name | ) |
Definition at line 338 of file encrypted_client_hello.cc.
Definition at line 291 of file ssl_lib.cc.
Definition at line 230 of file handshake.cc.
bool ssl_method_supports_version | ( | const SSL_PROTOCOL_METHOD * | method, |
uint16_t | version | ||
) |
Definition at line 72 of file ssl_versions.cc.
Definition at line 373 of file ssl_key_share.cc.
bool ssl_negotiate_alpn | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out_alert, | ||
const SSL_CLIENT_HELLO * | client_hello | ||
) |
Definition at line 1538 of file extensions.cc.
bool ssl_negotiate_alps | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out_alert, | ||
const SSL_CLIENT_HELLO * | client_hello | ||
) |
Definition at line 3034 of file extensions.cc.
bool ssl_negotiate_version | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out_alert, | ||
uint16_t * | out_version, | ||
const CBS * | peer_versions | ||
) |
Definition at line 290 of file ssl_versions.cc.
Definition at line 363 of file ssl_key_share.cc.
bool ssl_on_certificate_selected | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 726 of file ssl_cert.cc.
ssl_open_record_t ssl_open_app_data | ( | SSL * | ssl, |
Span< uint8_t > * | out, | ||
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 260 of file ssl_lib.cc.
ssl_open_record_t ssl_open_change_cipher_spec | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 244 of file ssl_lib.cc.
ssl_open_record_t ssl_open_handshake | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 230 of file ssl_lib.cc.
bool ssl_output_cert_chain | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 567 of file handshake.cc.
bool ssl_parse_cert_chain | ( | uint8_t * | out_alert, |
UniquePtr< STACK_OF(CRYPTO_BUFFER)> * | out_chain, | ||
UniquePtr< EVP_PKEY > * | out_pubkey, | ||
uint8_t * | out_leaf_sha256, | ||
CBS * | cbs, | ||
CRYPTO_BUFFER_POOL * | pool | ||
) |
Definition at line 346 of file ssl_cert.cc.
UniquePtr<STACK_OF(CRYPTO_BUFFER)> ssl_parse_client_CA_list | ( | SSL * | ssl, |
uint8_t * | out_alert, | ||
CBS * | cbs | ||
) |
Definition at line 618 of file ssl_cert.cc.
bool ssl_parse_client_hello_with_trailing_data | ( | const SSL * | ssl, |
CBS * | cbs, | ||
SSL_CLIENT_HELLO * | out | ||
) |
Definition at line 221 of file extensions.cc.
bool ssl_parse_clienthello_tlsext | ( | SSL_HANDSHAKE * | hs, |
const SSL_CLIENT_HELLO * | client_hello | ||
) |
Definition at line 3651 of file extensions.cc.
bool ssl_parse_extensions | ( | const CBS * | cbs, |
uint8_t * | out_alert, | ||
std::initializer_list< SSLExtension * > | extensions, | ||
bool | ignore_unknown | ||
) |
Definition at line 269 of file handshake.cc.
bool ssl_parse_server_hello | ( | ParsedServerHello * | out, |
uint8_t * | out_alert, | ||
const SSLMessage & | msg | ||
) |
Definition at line 648 of file handshake_client.cc.
bool ssl_parse_serverhello_tlsext | ( | SSL_HANDSHAKE * | hs, |
const CBS * | extensions | ||
) |
Definition at line 3793 of file extensions.cc.
enum ssl_private_key_result_t ssl_private_key_decrypt | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out, | ||
size_t * | out_len, | ||
size_t | max_out, | ||
Span< const uint8_t > | in | ||
) |
Definition at line 252 of file ssl_privkey.cc.
enum ssl_private_key_result_t ssl_private_key_sign | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out, | ||
size_t * | out_len, | ||
size_t | max_out, | ||
uint16_t | sigalg, | ||
Span< const uint8_t > | in | ||
) |
Definition at line 200 of file ssl_privkey.cc.
bool ssl_private_key_supports_signature_algorithm | ( | SSL_HANDSHAKE * | hs, |
uint16_t | sigalg | ||
) |
Definition at line 290 of file ssl_privkey.cc.
enum ssl_open_record_t ssl_process_alert | ( | SSL * | ssl, |
uint8_t * | out_alert, | ||
Span< const uint8_t > | in | ||
) |
Definition at line 548 of file tls_record.cc.
enum ssl_ticket_aead_result_t ssl_process_ticket | ( | SSL_HANDSHAKE * | hs, |
UniquePtr< SSL_SESSION > * | out_session, | ||
bool * | out_renew_ticket, | ||
Span< const uint8_t > | ticket, | ||
Span< const uint8_t > | session_id | ||
) |
Definition at line 3952 of file extensions.cc.
Definition at line 251 of file ssl_versions.cc.
Definition at line 28 of file ssl_versions.cc.
bool ssl_public_key_verify | ( | SSL * | ssl, |
Span< const uint8_t > | signature, | ||
uint16_t | sigalg, | ||
EVP_PKEY * | pkey, | ||
Span< const uint8_t > | in | ||
) |
Definition at line 236 of file ssl_privkey.cc.
Definition at line 169 of file ssl_buffer.cc.
Definition at line 165 of file tls_record.cc.
Definition at line 154 of file tls_record.cc.
void ssl_reset_error_state | ( | SSL * | ssl | ) |
Definition at line 201 of file ssl_lib.cc.
enum ssl_verify_result_t ssl_reverify_peer_cert | ( | SSL_HANDSHAKE * | hs, |
bool | send_alert | ||
) |
Definition at line 423 of file handshake.cc.
int ssl_run_handshake | ( | SSL_HANDSHAKE * | hs, |
bool * | out_early_return | ||
) |
Definition at line 588 of file handshake.cc.
Definition at line 176 of file tls_record.cc.
bool ssl_select_ech_config | ( | SSL_HANDSHAKE * | hs, |
Span< uint8_t > | out_enc, | ||
size_t * | out_enc_len | ||
) |
Definition at line 618 of file encrypted_client_hello.cc.
bool ssl_send_finished | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 523 of file handshake.cc.
enum ssl_hs_wait_t ssl_server_handshake | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1816 of file handshake_server.cc.
const char* ssl_server_handshake_state | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1903 of file handshake_server.cc.
OPENSSL_EXPORT UniquePtr<SSL_SESSION> SSL_SESSION_dup | ( | SSL_SESSION * | session, |
int | dup_flags | ||
) |
Definition at line 191 of file ssl_session.cc.
const EVP_MD* ssl_session_get_digest | ( | const SSL_SESSION * | session | ) |
Definition at line 347 of file ssl_session.cc.
int ssl_session_is_context_valid | ( | const SSL_HANDSHAKE * | hs, |
const SSL_SESSION * | session | ||
) |
Definition at line 583 of file ssl_session.cc.
int ssl_session_is_resumable | ( | const SSL_HANDSHAKE * | hs, |
const SSL_SESSION * | session | ||
) |
Definition at line 610 of file ssl_session.cc.
int ssl_session_is_time_valid | ( | const SSL * | ssl, |
const SSL_SESSION * | session | ||
) |
Definition at line 594 of file ssl_session.cc.
UniquePtr<SSL_SESSION> ssl_session_new | ( | const SSL_X509_METHOD * | x509_method | ) |
Definition at line 167 of file ssl_session.cc.
OPENSSL_EXPORT UniquePtr<SSL_SESSION> SSL_SESSION_parse | ( | CBS * | cbs, |
const SSL_X509_METHOD * | x509_method, | ||
CRYPTO_BUFFER_POOL * | pool | ||
) |
Definition at line 555 of file ssl_asn1.cc.
uint16_t ssl_session_protocol_version | ( | const SSL_SESSION * | session | ) |
Definition at line 335 of file ssl_session.cc.
void ssl_session_rebase_time | ( | SSL * | ssl, |
SSL_SESSION * | session | ||
) |
Definition at line 290 of file ssl_session.cc.
void ssl_session_renew_timeout | ( | SSL * | ssl, |
SSL_SESSION * | session, | ||
uint32_t | timeout | ||
) |
Definition at line 319 of file ssl_session.cc.
OPENSSL_EXPORT int ssl_session_serialize | ( | const SSL_SESSION * | in, |
CBB * | cbb | ||
) |
Definition at line 811 of file ssl_asn1.cc.
bool ssl_set_cert | ( | CERT * | cert, |
UniquePtr< CRYPTO_BUFFER > | buffer | ||
) |
Definition at line 305 of file ssl_cert.cc.
void ssl_set_read_error | ( | SSL * | ssl | ) |
Definition at line 209 of file ssl_lib.cc.
void ssl_set_session | ( | SSL * | ssl, |
SSL_SESSION * | session | ||
) |
Definition at line 788 of file ssl_session.cc.
bool ssl_setup_extension_permutation | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 3270 of file extensions.cc.
bool ssl_setup_key_shares | ( | SSL_HANDSHAKE * | hs, |
uint16_t | override_group_id | ||
) |
Definition at line 2263 of file extensions.cc.
bool ssl_signing_with_dc | ( | const SSL_HANDSHAKE * | hs | ) |
Definition at line 831 of file ssl_cert.cc.
bool ssl_supports_version | ( | const SSL_HANDSHAKE * | hs, |
uint16_t | version | ||
) |
Definition at line 263 of file ssl_versions.cc.
void ssl_update_cache | ( | SSL * | ssl | ) |
Definition at line 888 of file ssl_session.cc.
enum ssl_verify_result_t ssl_verify_peer_cert | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 323 of file handshake.cc.
Definition at line 293 of file ssl_buffer.cc.
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.
bool tls12_add_verify_sigalgs | ( | const SSL_HANDSHAKE * | hs, |
CBB * | out | ||
) |
Definition at line 481 of file extensions.cc.
bool tls12_check_peer_sigalg | ( | const SSL_HANDSHAKE * | hs, |
uint8_t * | out_alert, | ||
uint16_t | sigalg | ||
) |
Definition at line 490 of file extensions.cc.
bool tls13_add_certificate | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 399 of file tls13_both.cc.
enum ssl_private_key_result_t tls13_add_certificate_verify | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 562 of file tls13_both.cc.
bool tls13_add_finished | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 642 of file tls13_both.cc.
Definition at line 664 of file tls13_both.cc.
bool tls13_advance_key_schedule | ( | SSL_HANDSHAKE * | hs, |
Span< const uint8_t > | in | ||
) |
Definition at line 123 of file tls13_enc.cc.
enum ssl_hs_wait_t tls13_client_handshake | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 924 of file tls13_client.cc.
const char* tls13_client_handshake_state | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 989 of file tls13_client.cc.
bssl::UniquePtr<SSL_SESSION> tls13_create_session_with_ticket | ( | SSL * | ssl, |
CBS * | body | ||
) |
Definition at line 1052 of file tls13_client.cc.
bool tls13_derive_application_secrets | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 278 of file tls13_enc.cc.
bool tls13_derive_early_secret | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 245 of file tls13_enc.cc.
bool tls13_derive_handshake_secrets | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 262 of file tls13_enc.cc.
bool tls13_derive_resumption_secret | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 323 of file tls13_enc.cc.
bool tls13_derive_session_psk | ( | SSL_SESSION * | session, |
Span< const uint8_t > | nonce | ||
) |
Definition at line 374 of file tls13_enc.cc.
bool tls13_export_keying_material | ( | SSL * | ssl, |
Span< uint8_t > | out, | ||
Span< const uint8_t > | secret, | ||
Span< const char > | label, | ||
Span< const uint8_t > | context | ||
) |
Definition at line 385 of file tls13_enc.cc.
bool tls13_finished_mac | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out, | ||
size_t * | out_len, | ||
bool | is_server | ||
) |
Definition at line 356 of file tls13_enc.cc.
bool tls13_get_cert_verify_signature_input | ( | SSL_HANDSHAKE * | hs, |
Array< uint8_t > * | out, | ||
enum ssl_cert_verify_context_t | cert_verify_context | ||
) |
Definition at line 56 of file tls13_both.cc.
bool tls13_init_early_key_schedule | ( | SSL_HANDSHAKE * | hs, |
const SSL_SESSION * | session | ||
) |
Definition at line 75 of file tls13_enc.cc.
bool tls13_init_key_schedule | ( | SSL_HANDSHAKE * | hs, |
Span< const uint8_t > | psk | ||
) |
Definition at line 61 of file tls13_enc.cc.
bool tls13_post_handshake | ( | SSL * | ssl, |
const SSLMessage & | msg | ||
) |
Definition at line 709 of file tls13_both.cc.
bool tls13_process_certificate | ( | SSL_HANDSHAKE * | hs, |
const SSLMessage & | msg, | ||
bool | allow_anonymous | ||
) |
Definition at line 107 of file tls13_both.cc.
bool tls13_process_certificate_verify | ( | SSL_HANDSHAKE * | hs, |
const SSLMessage & | msg | ||
) |
Definition at line 327 of file tls13_both.cc.
bool tls13_process_finished | ( | SSL_HANDSHAKE * | hs, |
const SSLMessage & | msg, | ||
bool | use_saved_value | ||
) |
Definition at line 369 of file tls13_both.cc.
bool tls13_process_new_session_ticket | ( | SSL * | ssl, |
const SSLMessage & | msg | ||
) |
Definition at line 1028 of file tls13_client.cc.
bool tls13_rotate_traffic_key | ( | SSL * | ssl, |
enum evp_aead_direction_t | direction | ||
) |
Definition at line 303 of file tls13_enc.cc.
enum ssl_hs_wait_t tls13_server_handshake | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1235 of file tls13_server.cc.
const char* tls13_server_handshake_state | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 1306 of file tls13_server.cc.
bool tls13_set_traffic_key | ( | SSL * | ssl, |
enum ssl_encryption_level_t | level, | ||
enum evp_aead_direction_t | direction, | ||
const SSL_SESSION * | session, | ||
Span< const uint8_t > | traffic_secret | ||
) |
Definition at line 156 of file tls13_enc.cc.
bool tls13_verify_psk_binder | ( | const SSL_HANDSHAKE * | hs, |
const SSL_SESSION * | session, | ||
const SSLMessage & | msg, | ||
CBS * | binders | ||
) |
Definition at line 500 of file tls13_enc.cc.
bool tls13_write_psk_binder | ( | const SSL_HANDSHAKE * | hs, |
const SSLTranscript & | transcript, | ||
Span< uint8_t > | msg, | ||
size_t * | out_binder_len | ||
) |
Definition at line 473 of file tls13_enc.cc.
bool tls1_change_cipher_state | ( | SSL_HANDSHAKE * | hs, |
evp_aead_direction_t | direction | ||
) |
bool tls1_channel_id_hash | ( | SSL_HANDSHAKE * | hs, |
uint8_t * | out, | ||
size_t * | out_len | ||
) |
Definition at line 4219 of file extensions.cc.
bool tls1_check_group_id | ( | const SSL_HANDSHAKE * | ssl, |
uint16_t | group_id | ||
) |
Definition at line 408 of file extensions.cc.
bool tls1_choose_signature_algorithm | ( | SSL_HANDSHAKE * | hs, |
uint16_t * | out | ||
) |
Definition at line 4054 of file extensions.cc.
bool tls1_configure_aead | ( | SSL * | ssl, |
evp_aead_direction_t | direction, | ||
Array< uint8_t > * | key_block_cache, | ||
const SSL_SESSION * | session, | ||
Span< const uint8_t > | iv_override | ||
) |
Span<const uint16_t> tls1_get_grouplist | ( | const SSL_HANDSHAKE * | ssl | ) |
Definition at line 311 of file extensions.cc.
Definition at line 4041 of file extensions.cc.
Span<const uint16_t> tls1_get_peer_verify_algorithms | ( | const SSL_HANDSHAKE * | hs | ) |
Definition at line 4098 of file extensions.cc.
bool tls1_get_shared_group | ( | SSL_HANDSHAKE * | hs, |
uint16_t * | out_group_id | ||
) |
Definition at line 318 of file extensions.cc.
bool tls1_parse_peer_sigalgs | ( | SSL_HANDSHAKE * | hs, |
const CBS * | sigalgs | ||
) |
Definition at line 4029 of file extensions.cc.
bool tls1_record_handshake_hashes_for_channel_id | ( | SSL_HANDSHAKE * | hs | ) |
Definition at line 4260 of file extensions.cc.
Definition at line 357 of file extensions.cc.
Definition at line 373 of file extensions.cc.
bool tls1_verify_channel_id | ( | SSL_HANDSHAKE * | hs, |
const SSLMessage & | msg | ||
) |
Definition at line 4111 of file extensions.cc.
bool tls1_write_channel_id | ( | SSL_HANDSHAKE * | hs, |
CBB * | cbb | ||
) |
Definition at line 4179 of file extensions.cc.
Definition at line 266 of file s3_both.cc.
Definition at line 552 of file s3_both.cc.
Definition at line 519 of file s3_both.cc.
Definition at line 184 of file s3_both.cc.
Definition at line 284 of file s3_both.cc.
Definition at line 244 of file s3_both.cc.
bool tls_get_message | ( | const SSL * | ssl, |
SSLMessage * | out | ||
) |
Definition at line 505 of file s3_both.cc.
Definition at line 539 of file s3_both.cc.
Definition at line 171 of file s3_both.cc.
void tls_next_message | ( | SSL * | ssl | ) |
Definition at line 640 of file s3_both.cc.
ssl_open_record_t tls_open_change_cipher_spec | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
ssl_open_record_t tls_open_handshake | ( | SSL * | ssl, |
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 561 of file s3_both.cc.
enum ssl_open_record_t tls_open_record | ( | SSL * | ssl, |
uint8_t * | out_type, | ||
Span< uint8_t > * | out, | ||
size_t * | out_consumed, | ||
uint8_t * | out_alert, | ||
Span< uint8_t > | in | ||
) |
Definition at line 206 of file tls_record.cc.
bool tls_seal_record | ( | SSL * | ssl, |
uint8_t * | out, | ||
size_t * | out_len, | ||
size_t | max_out, | ||
uint8_t | type, | ||
const uint8_t * | in, | ||
size_t | in_len | ||
) |
Definition at line 514 of file tls_record.cc.
const uint8_t kHelloRetryRequest[SSL3_RANDOM_SIZE] |
Definition at line 40 of file tls13_both.cc.
Definition at line 53 of file tls13_both.cc.
|
static |
Definition at line 3099 of file third_party/boringssl-with-bazel/src/ssl/internal.h.
Definition at line 47 of file tls13_both.cc.
Definition at line 49 of file tls13_both.cc.
const SSL_X509_METHOD ssl_crypto_x509_method |
Definition at line 511 of file ssl_x509.cc.
const SSL_X509_METHOD ssl_noop_x509_method |
Definition at line 203 of file tls_method.cc.