Go to the documentation of this file.
142 #ifndef OPENSSL_HEADER_SSL_H
143 #define OPENSSL_HEADER_SSL_H
156 #if !defined(OPENSSL_WINDOWS)
157 #include <sys/time.h>
170 #if defined(__cplusplus)
421 #define SSL_KEY_UPDATE_REQUESTED 1
425 #define SSL_KEY_UPDATE_NOT_REQUESTED 0
481 #define SSL_ERROR_NONE 0
485 #define SSL_ERROR_SSL 1
494 #define SSL_ERROR_WANT_READ 2
499 #define SSL_ERROR_WANT_WRITE 3
507 #define SSL_ERROR_WANT_X509_LOOKUP 4
514 #define SSL_ERROR_SYSCALL 5
518 #define SSL_ERROR_ZERO_RETURN 6
523 #define SSL_ERROR_WANT_CONNECT 7
530 #define SSL_ERROR_WANT_ACCEPT 8
536 #define SSL_ERROR_WANT_CHANNEL_ID_LOOKUP 9
543 #define SSL_ERROR_PENDING_SESSION 11
550 #define SSL_ERROR_PENDING_CERTIFICATE 12
558 #define SSL_ERROR_WANT_PRIVATE_KEY_OPERATION 13
564 #define SSL_ERROR_PENDING_TICKET 14
570 #define SSL_ERROR_EARLY_DATA_REJECTED 15
577 #define SSL_ERROR_WANT_CERTIFICATE_VERIFY 16
579 #define SSL_ERROR_HANDOFF 17
580 #define SSL_ERROR_HANDBACK 18
587 #define SSL_ERROR_WANT_RENEGOTIATE 19
592 #define SSL_ERROR_HANDSHAKE_HINTS_READY 20
611 unsigned duration_ms);
646 #define DTLS1_VERSION_MAJOR 0xfe
647 #define SSL3_VERSION_MAJOR 0x03
649 #define SSL3_VERSION 0x0300
650 #define TLS1_VERSION 0x0301
651 #define TLS1_1_VERSION 0x0302
652 #define TLS1_2_VERSION 0x0303
653 #define TLS1_3_VERSION 0x0304
655 #define DTLS1_VERSION 0xfeff
656 #define DTLS1_2_VERSION 0xfefd
706 #define SSL_OP_NO_QUERY_MTU 0x00001000L
709 #define SSL_OP_NO_TICKET 0x00004000L
714 #define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L
719 #define SSL_OP_NO_TLSv1 0x04000000L
720 #define SSL_OP_NO_TLSv1_2 0x08000000L
721 #define SSL_OP_NO_TLSv1_1 0x10000000L
722 #define SSL_OP_NO_TLSv1_3 0x20000000L
723 #define SSL_OP_NO_DTLSv1 SSL_OP_NO_TLSv1
724 #define SSL_OP_NO_DTLSv1_2 SSL_OP_NO_TLSv1_2
762 #define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L
769 #define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L
775 #define SSL_MODE_NO_AUTO_CHAIN 0x00000008L
787 #define SSL_MODE_ENABLE_FALSE_START 0x00000080L
793 #define SSL_MODE_CBC_RECORD_SPLITTING 0x00000100L
798 #define SSL_MODE_NO_SESSION_CREATION 0x00000200L
806 #define SSL_MODE_SEND_FALLBACK_SCSV 0x00000400L
1065 #define SSL_SIGN_RSA_PKCS1_SHA1 0x0201
1066 #define SSL_SIGN_RSA_PKCS1_SHA256 0x0401
1067 #define SSL_SIGN_RSA_PKCS1_SHA384 0x0501
1068 #define SSL_SIGN_RSA_PKCS1_SHA512 0x0601
1069 #define SSL_SIGN_ECDSA_SHA1 0x0203
1070 #define SSL_SIGN_ECDSA_SECP256R1_SHA256 0x0403
1071 #define SSL_SIGN_ECDSA_SECP384R1_SHA384 0x0503
1072 #define SSL_SIGN_ECDSA_SECP521R1_SHA512 0x0603
1073 #define SSL_SIGN_RSA_PSS_RSAE_SHA256 0x0804
1074 #define SSL_SIGN_RSA_PSS_RSAE_SHA384 0x0805
1075 #define SSL_SIGN_RSA_PSS_RSAE_SHA512 0x0806
1076 #define SSL_SIGN_ED25519 0x0807
1081 #define SSL_SIGN_RSA_PKCS1_MD5_SHA1 0xff01
1172 const uint8_t *der,
size_t der_len);
1185 #define SSL_FILETYPE_PEM 1
1186 #define SSL_FILETYPE_ASN1 2
1283 size_t *out_len,
size_t max_out,
1295 size_t *out_len,
size_t max_out);
1503 #define SSL_DEFAULT_CIPHER_LIST "ALL"
1635 size_t *out_len,
size_t max_out);
1699 uint8_t **out_data,
size_t *out_len);
1728 #define SSL_MAX_SSL_SESSION_ID_LENGTH 32
1795 #define SSL_MAX_MASTER_KEY_LENGTH 48
1827 size_t sid_ctx_len);
1933 #define SSL_SESS_CACHE_OFF 0x0000
1937 #define SSL_SESS_CACHE_CLIENT 0x0001
1940 #define SSL_SESS_CACHE_SERVER 0x0002
1943 #define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT | SSL_SESS_CACHE_SERVER)
1947 #define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080
1951 #define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100
1955 #define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200
1959 #define SSL_SESS_CACHE_NO_INTERNAL \
1960 (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP | SSL_SESS_CACHE_NO_INTERNAL_STORE)
1984 #define SSL_DEFAULT_SESSION_TIMEOUT (2 * 60 * 60)
1989 #define SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT (2 * 24 * 60 * 60)
1994 #define SSL_DEFAULT_SESSION_AUTH_TIMEOUT (7 * 24 * 60 * 60)
2010 #define SSL_MAX_SID_CTX_LENGTH 32
2021 size_t sid_ctx_len);
2027 size_t sid_ctx_len);
2036 #define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024 * 20)
2041 unsigned long size);
2125 int id_len,
int *out_copy));
2130 SSL *ssl,
const uint8_t *
id,
int id_len,
int *out_copy);
2175 #define SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL (2 * 24 * 60 * 60)
2191 #define SSL_TICKET_KEY_NAME_LEN 16
2326 #define SSL_CURVE_SECP224R1 21
2327 #define SSL_CURVE_SECP256R1 23
2328 #define SSL_CURVE_SECP384R1 24
2329 #define SSL_CURVE_SECP521R1 25
2330 #define SSL_CURVE_X25519 29
2331 #define SSL_CURVE_CECPQ2 16696
2373 #define SSL_VERIFY_NONE 0x00
2379 #define SSL_VERIFY_PEER 0x01
2384 #define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
2388 #define SSL_VERIFY_PEER_IF_NO_OBC 0x04
2540 const char *ca_file,
2541 const char *ca_dir);
2721 #define TLSEXT_NAMETYPE_host_name 0
2755 #define SSL_TLSEXT_ERR_OK 0
2756 #define SSL_TLSEXT_ERR_ALERT_WARNING 1
2757 #define SSL_TLSEXT_ERR_ALERT_FATAL 2
2758 #define SSL_TLSEXT_ERR_NOACK 3
2791 unsigned protos_len);
2802 unsigned protos_len);
2883 size_t settings_len);
2927 size_t uncompressed_len,
3008 const uint8_t *peer,
unsigned peer_len,
3010 unsigned supported_len);
3012 #define OPENSSL_NPN_UNSUPPORTED 0
3013 #define OPENSSL_NPN_NEGOTIATED 1
3014 #define OPENSSL_NPN_NO_OVERLAP 2
3066 #define SRTP_AES128_CM_SHA1_80 0x0001
3067 #define SRTP_AES128_CM_SHA1_32 0x0002
3068 #define SRTP_AES128_F8_SHA1_80 0x0003
3069 #define SRTP_AES128_F8_SHA1_32 0x0004
3070 #define SRTP_NULL_SHA1_80 0x0005
3071 #define SRTP_NULL_SHA1_32 0x0006
3072 #define SRTP_AEAD_AES_128_GCM 0x0007
3073 #define SRTP_AEAD_AES_256_GCM 0x0008
3079 const char *profiles);
3108 #define PSK_MAX_IDENTITY_LEN 128
3111 #define PSK_MAX_PSK_LEN 256
3125 SSL_CTX *
ctx,
unsigned (*
cb)(
SSL *ssl,
const char *hint,
char *identity,
3126 unsigned max_identity_len,
uint8_t *psk,
3127 unsigned max_psk_len));
3133 SSL *ssl,
unsigned (*
cb)(
SSL *ssl,
const char *hint,
char *identity,
3134 unsigned max_identity_len,
uint8_t *psk,
3135 unsigned max_psk_len));
3146 unsigned max_psk_len));
3152 SSL *ssl,
unsigned (*
cb)(
SSL *ssl,
const char *identity,
uint8_t *psk,
3153 unsigned max_psk_len));
3159 const char *identity_hint);
3165 const char *identity_hint);
3365 const SSL *ssl,
enum ssl_encryption_level_t
level);
3385 enum ssl_encryption_level_t
level,
3422 const SSL *ssl,
const uint8_t **out_params,
size_t *out_params_len);
3444 size_t context_len);
3595 enum ssl_early_data_reason_t reason);
3640 const uint8_t *ech_config_list,
3641 size_t ech_config_list_len);
3654 const char **out_name,
3655 size_t *out_name_len);
3673 const SSL *ssl,
const uint8_t **out_retry_configs,
3674 size_t *out_retry_configs_len);
3693 const char *public_name,
3694 size_t max_name_len);
3718 size_t ech_config_len,
3791 #define SSL_AD_REASON_OFFSET 1000
3794 #define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY
3795 #define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE
3796 #define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC
3797 #define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED
3798 #define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW
3799 #define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE
3800 #define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE
3801 #define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE // Legacy SSL 3.0 value
3802 #define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE
3803 #define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE
3804 #define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED
3805 #define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED
3806 #define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN
3807 #define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER
3808 #define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA
3809 #define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED
3810 #define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR
3811 #define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR
3812 #define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION
3813 #define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION
3814 #define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY
3815 #define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR
3816 #define SSL_AD_INAPPROPRIATE_FALLBACK SSL3_AD_INAPPROPRIATE_FALLBACK
3817 #define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED
3818 #define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION
3819 #define SSL_AD_MISSING_EXTENSION TLS1_AD_MISSING_EXTENSION
3820 #define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION
3821 #define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
3822 #define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME
3823 #define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE \
3824 TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
3825 #define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
3826 #define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY
3827 #define SSL_AD_CERTIFICATE_REQUIRED TLS1_AD_CERTIFICATE_REQUIRED
3828 #define SSL_AD_NO_APPLICATION_PROTOCOL TLS1_AD_NO_APPLICATION_PROTOCOL
3829 #define SSL_AD_ECH_REQUIRED TLS1_AD_ECH_REQUIRED
3888 size_t *out_iv_len);
3983 size_t client_hello_len,
3985 size_t capabilities_len);
4041 SSL *ssl,
void (*
cb)(
int write_p,
int version,
int content_type,
4060 const SSL *ssl,
const char *
line);
4125 enum ssl_renegotiate_mode_t
mode);
4147 #define SSL_MAX_CERT_LIST_DEFAULT (1024 * 100)
4157 size_t max_cert_list);
4173 size_t max_send_fragment);
4180 size_t max_send_fragment);
4224 const uint8_t **out_data,
size_t *out_len);
4266 #define SSL_ST_CONNECT 0x1000
4267 #define SSL_ST_ACCEPT 0x2000
4268 #define SSL_ST_MASK 0x0FFF
4269 #define SSL_ST_INIT (SSL_ST_CONNECT | SSL_ST_ACCEPT)
4270 #define SSL_ST_OK 0x03
4271 #define SSL_ST_RENEGOTIATE (0x04 | SSL_ST_INIT)
4272 #define SSL_ST_BEFORE (0x05 | SSL_ST_INIT)
4275 #define TLS_ST_OK SSL_ST_OK
4276 #define TLS_ST_BEFORE SSL_ST_BEFORE
4280 #define SSL_CB_LOOP 0x01
4281 #define SSL_CB_EXIT 0x02
4282 #define SSL_CB_READ 0x04
4283 #define SSL_CB_WRITE 0x08
4284 #define SSL_CB_ALERT 0x4000
4285 #define SSL_CB_READ_ALERT (SSL_CB_ALERT | SSL_CB_READ)
4286 #define SSL_CB_WRITE_ALERT (SSL_CB_ALERT | SSL_CB_WRITE)
4287 #define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT | SSL_CB_LOOP)
4288 #define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT | SSL_CB_EXIT)
4289 #define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT | SSL_CB_LOOP)
4290 #define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT | SSL_CB_EXIT)
4291 #define SSL_CB_HANDSHAKE_START 0x10
4292 #define SSL_CB_HANDSHAKE_DONE 0x20
4348 #define SSL_SENT_SHUTDOWN 1
4349 #define SSL_RECEIVED_SHUTDOWN 2
4522 RSA *(*
cb)(
SSL *ssl,
int is_export,
4597 int *phash,
int *psignandhash,
4601 #define SSL_MODE_HANDSHAKE_CUTTHROUGH SSL_MODE_ENABLE_FALSE_START
4636 const char *profiles);
4666 DH *(*
cb)(
SSL *ssl,
int is_export,
4717 #define SSL_set_app_data(s, arg) (SSL_set_ex_data(s, 0, (char *)(arg)))
4718 #define SSL_get_app_data(s) (SSL_get_ex_data(s, 0))
4719 #define SSL_SESSION_set_app_data(s, a) \
4720 (SSL_SESSION_set_ex_data(s, 0, (char *)(a)))
4721 #define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s, 0))
4722 #define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx, 0))
4723 #define SSL_CTX_set_app_data(ctx, arg) \
4724 (SSL_CTX_set_ex_data(ctx, 0, (char *)(arg)))
4726 #define OpenSSL_add_ssl_algorithms() SSL_library_init()
4727 #define SSLeay_add_ssl_algorithms() SSL_library_init()
4729 #define SSL_get_cipher(ssl) SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
4730 #define SSL_get_cipher_bits(ssl, out_alg_bits) \
4731 SSL_CIPHER_get_bits(SSL_get_current_cipher(ssl), out_alg_bits)
4732 #define SSL_get_cipher_version(ssl) \
4733 SSL_CIPHER_get_version(SSL_get_current_cipher(ssl))
4734 #define SSL_get_cipher_name(ssl) \
4735 SSL_CIPHER_get_name(SSL_get_current_cipher(ssl))
4736 #define SSL_get_time(session) SSL_SESSION_get_time(session)
4737 #define SSL_set_time(session, time) SSL_SESSION_set_time((session), (time))
4738 #define SSL_get_timeout(session) SSL_SESSION_get_timeout(session)
4739 #define SSL_set_timeout(session, timeout) \
4740 SSL_SESSION_set_timeout((session), (timeout))
4752 #define SSL_MODE_AUTO_RETRY 0
4753 #define SSL_MODE_RELEASE_BUFFERS 0
4754 #define SSL_MODE_SEND_CLIENTHELLO_TIME 0
4755 #define SSL_MODE_SEND_SERVERHELLO_TIME 0
4756 #define SSL_OP_ALL 0
4757 #define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0
4758 #define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0
4759 #define SSL_OP_EPHEMERAL_RSA 0
4760 #define SSL_OP_LEGACY_SERVER_CONNECT 0
4761 #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0
4762 #define SSL_OP_MICROSOFT_SESS_ID_BUG 0
4763 #define SSL_OP_MSIE_SSLV2_RSA_PADDING 0
4764 #define SSL_OP_NETSCAPE_CA_DN_BUG 0
4765 #define SSL_OP_NETSCAPE_CHALLENGE_BUG 0
4766 #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0
4767 #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0
4768 #define SSL_OP_NO_COMPRESSION 0
4769 #define SSL_OP_NO_RENEGOTIATION 0 // ssl_renegotiate_never is the default
4770 #define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0
4771 #define SSL_OP_NO_SSLv2 0
4772 #define SSL_OP_NO_SSLv3 0
4773 #define SSL_OP_PKCS1_CHECK_1 0
4774 #define SSL_OP_PKCS1_CHECK_2 0
4775 #define SSL_OP_SINGLE_DH_USE 0
4776 #define SSL_OP_SINGLE_ECDH_USE 0
4777 #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0
4778 #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0
4779 #define SSL_OP_TLS_BLOCK_PADDING_BUG 0
4780 #define SSL_OP_TLS_D5_BUG 0
4781 #define SSL_OP_TLS_ROLLBACK_BUG 0
4782 #define SSL_VERIFY_CLIENT_ONCE 0
4815 #define SSL_NOTHING SSL_ERROR_NONE
4816 #define SSL_WRITING SSL_ERROR_WANT_WRITE
4817 #define SSL_READING SSL_ERROR_WANT_READ
4823 #define SSL_want_read(ssl) (SSL_want(ssl) == SSL_READING)
4824 #define SSL_want_write(ssl) (SSL_want(ssl) == SSL_WRITING)
4855 #define SSL_TXT_MEDIUM "MEDIUM"
4856 #define SSL_TXT_HIGH "HIGH"
4857 #define SSL_TXT_FIPS "FIPS"
4858 #define SSL_TXT_kRSA "kRSA"
4859 #define SSL_TXT_kDHE "kDHE"
4860 #define SSL_TXT_kEDH "kEDH"
4861 #define SSL_TXT_kECDHE "kECDHE"
4862 #define SSL_TXT_kEECDH "kEECDH"
4863 #define SSL_TXT_kPSK "kPSK"
4864 #define SSL_TXT_aRSA "aRSA"
4865 #define SSL_TXT_aECDSA "aECDSA"
4866 #define SSL_TXT_aPSK "aPSK"
4867 #define SSL_TXT_DH "DH"
4868 #define SSL_TXT_DHE "DHE"
4869 #define SSL_TXT_EDH "EDH"
4870 #define SSL_TXT_RSA "RSA"
4871 #define SSL_TXT_ECDH "ECDH"
4872 #define SSL_TXT_ECDHE "ECDHE"
4873 #define SSL_TXT_EECDH "EECDH"
4874 #define SSL_TXT_ECDSA "ECDSA"
4875 #define SSL_TXT_PSK "PSK"
4876 #define SSL_TXT_3DES "3DES"
4877 #define SSL_TXT_RC4 "RC4"
4878 #define SSL_TXT_AES128 "AES128"
4879 #define SSL_TXT_AES256 "AES256"
4880 #define SSL_TXT_AES "AES"
4881 #define SSL_TXT_AES_GCM "AESGCM"
4882 #define SSL_TXT_CHACHA20 "CHACHA20"
4883 #define SSL_TXT_MD5 "MD5"
4884 #define SSL_TXT_SHA1 "SHA1"
4885 #define SSL_TXT_SHA "SHA"
4886 #define SSL_TXT_SHA256 "SHA256"
4887 #define SSL_TXT_SHA384 "SHA384"
4888 #define SSL_TXT_SSLV3 "SSLv3"
4889 #define SSL_TXT_TLSV1 "TLSv1"
4890 #define SSL_TXT_TLSV1_1 "TLSv1.1"
4891 #define SSL_TXT_TLSV1_2 "TLSv1.2"
4892 #define SSL_TXT_TLSV1_3 "TLSv1.3"
4893 #define SSL_TXT_ALL "ALL"
4894 #define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT"
4904 #define SSL_get_state(ssl) SSL_state(ssl)
4953 #define SSL_CTX_set_ecdh_auto(ctx, onoff) 1
4956 #define SSL_set_ecdh_auto(ssl, onoff) 1
4975 #define SSL_get0_session SSL_get_session
4981 #define OPENSSL_INIT_NO_LOAD_SSL_STRINGS 0
4982 #define OPENSSL_INIT_LOAD_SSL_STRINGS 0
4983 #define OPENSSL_INIT_SSL_DEFAULT 0
4991 #define SSL_SIGN_RSA_PSS_SHA256 SSL_SIGN_RSA_PSS_RSAE_SHA256
4992 #define SSL_SIGN_RSA_PSS_SHA384 SSL_SIGN_RSA_PSS_RSAE_SHA384
4993 #define SSL_SIGN_RSA_PSS_SHA512 SSL_SIGN_RSA_PSS_RSAE_SHA512
5061 #define SSL_R_TLSV1_UNSUPPORTED_EXTENSION \
5062 SSL_R_TLSV1_ALERT_UNSUPPORTED_EXTENSION
5063 #define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE \
5064 SSL_R_TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE
5065 #define SSL_R_TLSV1_UNRECOGNIZED_NAME SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME
5066 #define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE \
5067 SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE
5068 #define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE \
5069 SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE
5070 #define SSL_R_TLSV1_CERTIFICATE_REQUIRED SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED
5085 #define SSLerr(function, reason) \
5086 ERR_put_error(ERR_LIB_SSL, 0, reason, __FILE__, __LINE__)
5103 #define DTLS_CTRL_GET_TIMEOUT doesnt_exist
5104 #define DTLS_CTRL_HANDLE_TIMEOUT doesnt_exist
5105 #define SSL_CTRL_CHAIN doesnt_exist
5106 #define SSL_CTRL_CHAIN_CERT doesnt_exist
5107 #define SSL_CTRL_CHANNEL_ID doesnt_exist
5108 #define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS doesnt_exist
5109 #define SSL_CTRL_CLEAR_MODE doesnt_exist
5110 #define SSL_CTRL_CLEAR_OPTIONS doesnt_exist
5111 #define SSL_CTRL_EXTRA_CHAIN_CERT doesnt_exist
5112 #define SSL_CTRL_GET_CHAIN_CERTS doesnt_exist
5113 #define SSL_CTRL_GET_CHANNEL_ID doesnt_exist
5114 #define SSL_CTRL_GET_CLIENT_CERT_TYPES doesnt_exist
5115 #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS doesnt_exist
5116 #define SSL_CTRL_GET_MAX_CERT_LIST doesnt_exist
5117 #define SSL_CTRL_GET_NUM_RENEGOTIATIONS doesnt_exist
5118 #define SSL_CTRL_GET_READ_AHEAD doesnt_exist
5119 #define SSL_CTRL_GET_RI_SUPPORT doesnt_exist
5120 #define SSL_CTRL_GET_SERVER_TMP_KEY doesnt_exist
5121 #define SSL_CTRL_GET_SESSION_REUSED doesnt_exist
5122 #define SSL_CTRL_GET_SESS_CACHE_MODE doesnt_exist
5123 #define SSL_CTRL_GET_SESS_CACHE_SIZE doesnt_exist
5124 #define SSL_CTRL_GET_TLSEXT_TICKET_KEYS doesnt_exist
5125 #define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS doesnt_exist
5126 #define SSL_CTRL_MODE doesnt_exist
5127 #define SSL_CTRL_NEED_TMP_RSA doesnt_exist
5128 #define SSL_CTRL_OPTIONS doesnt_exist
5129 #define SSL_CTRL_SESS_NUMBER doesnt_exist
5130 #define SSL_CTRL_SET_CURVES doesnt_exist
5131 #define SSL_CTRL_SET_CURVES_LIST doesnt_exist
5132 #define SSL_CTRL_SET_ECDH_AUTO doesnt_exist
5133 #define SSL_CTRL_SET_MAX_CERT_LIST doesnt_exist
5134 #define SSL_CTRL_SET_MAX_SEND_FRAGMENT doesnt_exist
5135 #define SSL_CTRL_SET_MSG_CALLBACK doesnt_exist
5136 #define SSL_CTRL_SET_MSG_CALLBACK_ARG doesnt_exist
5137 #define SSL_CTRL_SET_MTU doesnt_exist
5138 #define SSL_CTRL_SET_READ_AHEAD doesnt_exist
5139 #define SSL_CTRL_SET_SESS_CACHE_MODE doesnt_exist
5140 #define SSL_CTRL_SET_SESS_CACHE_SIZE doesnt_exist
5141 #define SSL_CTRL_SET_TLSEXT_HOSTNAME doesnt_exist
5142 #define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG doesnt_exist
5143 #define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB doesnt_exist
5144 #define SSL_CTRL_SET_TLSEXT_TICKET_KEYS doesnt_exist
5145 #define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB doesnt_exist
5146 #define SSL_CTRL_SET_TMP_DH doesnt_exist
5147 #define SSL_CTRL_SET_TMP_DH_CB doesnt_exist
5148 #define SSL_CTRL_SET_TMP_ECDH doesnt_exist
5149 #define SSL_CTRL_SET_TMP_ECDH_CB doesnt_exist
5150 #define SSL_CTRL_SET_TMP_RSA doesnt_exist
5151 #define SSL_CTRL_SET_TMP_RSA_CB doesnt_exist
5155 #if !defined(BORINGSSL_PREFIX)
5157 #define DTLSv1_get_timeout DTLSv1_get_timeout
5158 #define DTLSv1_handle_timeout DTLSv1_handle_timeout
5159 #define SSL_CTX_add0_chain_cert SSL_CTX_add0_chain_cert
5160 #define SSL_CTX_add1_chain_cert SSL_CTX_add1_chain_cert
5161 #define SSL_CTX_add_extra_chain_cert SSL_CTX_add_extra_chain_cert
5162 #define SSL_CTX_clear_extra_chain_certs SSL_CTX_clear_extra_chain_certs
5163 #define SSL_CTX_clear_chain_certs SSL_CTX_clear_chain_certs
5164 #define SSL_CTX_clear_mode SSL_CTX_clear_mode
5165 #define SSL_CTX_clear_options SSL_CTX_clear_options
5166 #define SSL_CTX_get0_chain_certs SSL_CTX_get0_chain_certs
5167 #define SSL_CTX_get_extra_chain_certs SSL_CTX_get_extra_chain_certs
5168 #define SSL_CTX_get_max_cert_list SSL_CTX_get_max_cert_list
5169 #define SSL_CTX_get_mode SSL_CTX_get_mode
5170 #define SSL_CTX_get_options SSL_CTX_get_options
5171 #define SSL_CTX_get_read_ahead SSL_CTX_get_read_ahead
5172 #define SSL_CTX_get_session_cache_mode SSL_CTX_get_session_cache_mode
5173 #define SSL_CTX_get_tlsext_ticket_keys SSL_CTX_get_tlsext_ticket_keys
5174 #define SSL_CTX_need_tmp_RSA SSL_CTX_need_tmp_RSA
5175 #define SSL_CTX_sess_get_cache_size SSL_CTX_sess_get_cache_size
5176 #define SSL_CTX_sess_number SSL_CTX_sess_number
5177 #define SSL_CTX_sess_set_cache_size SSL_CTX_sess_set_cache_size
5178 #define SSL_CTX_set0_chain SSL_CTX_set0_chain
5179 #define SSL_CTX_set1_chain SSL_CTX_set1_chain
5180 #define SSL_CTX_set1_curves SSL_CTX_set1_curves
5181 #define SSL_CTX_set_max_cert_list SSL_CTX_set_max_cert_list
5182 #define SSL_CTX_set_max_send_fragment SSL_CTX_set_max_send_fragment
5183 #define SSL_CTX_set_mode SSL_CTX_set_mode
5184 #define SSL_CTX_set_msg_callback_arg SSL_CTX_set_msg_callback_arg
5185 #define SSL_CTX_set_options SSL_CTX_set_options
5186 #define SSL_CTX_set_read_ahead SSL_CTX_set_read_ahead
5187 #define SSL_CTX_set_session_cache_mode SSL_CTX_set_session_cache_mode
5188 #define SSL_CTX_set_tlsext_servername_arg SSL_CTX_set_tlsext_servername_arg
5189 #define SSL_CTX_set_tlsext_servername_callback \
5190 SSL_CTX_set_tlsext_servername_callback
5191 #define SSL_CTX_set_tlsext_ticket_key_cb SSL_CTX_set_tlsext_ticket_key_cb
5192 #define SSL_CTX_set_tlsext_ticket_keys SSL_CTX_set_tlsext_ticket_keys
5193 #define SSL_CTX_set_tmp_dh SSL_CTX_set_tmp_dh
5194 #define SSL_CTX_set_tmp_ecdh SSL_CTX_set_tmp_ecdh
5195 #define SSL_CTX_set_tmp_rsa SSL_CTX_set_tmp_rsa
5196 #define SSL_add0_chain_cert SSL_add0_chain_cert
5197 #define SSL_add1_chain_cert SSL_add1_chain_cert
5198 #define SSL_clear_chain_certs SSL_clear_chain_certs
5199 #define SSL_clear_mode SSL_clear_mode
5200 #define SSL_clear_options SSL_clear_options
5201 #define SSL_get0_certificate_types SSL_get0_certificate_types
5202 #define SSL_get0_chain_certs SSL_get0_chain_certs
5203 #define SSL_get_max_cert_list SSL_get_max_cert_list
5204 #define SSL_get_mode SSL_get_mode
5205 #define SSL_get_options SSL_get_options
5206 #define SSL_get_secure_renegotiation_support \
5207 SSL_get_secure_renegotiation_support
5208 #define SSL_need_tmp_RSA SSL_need_tmp_RSA
5209 #define SSL_num_renegotiations SSL_num_renegotiations
5210 #define SSL_session_reused SSL_session_reused
5211 #define SSL_set0_chain SSL_set0_chain
5212 #define SSL_set1_chain SSL_set1_chain
5213 #define SSL_set1_curves SSL_set1_curves
5214 #define SSL_set_max_cert_list SSL_set_max_cert_list
5215 #define SSL_set_max_send_fragment SSL_set_max_send_fragment
5216 #define SSL_set_mode SSL_set_mode
5217 #define SSL_set_msg_callback_arg SSL_set_msg_callback_arg
5218 #define SSL_set_mtu SSL_set_mtu
5219 #define SSL_set_options SSL_set_options
5220 #define SSL_set_tlsext_host_name SSL_set_tlsext_host_name
5221 #define SSL_set_tmp_dh SSL_set_tmp_dh
5222 #define SSL_set_tmp_ecdh SSL_set_tmp_ecdh
5223 #define SSL_set_tmp_rsa SSL_set_tmp_rsa
5224 #define SSL_total_renegotiations SSL_total_renegotiations
5226 #endif // !defined(BORINGSSL_PREFIX)
5229 #if defined(__cplusplus)
5232 #if !defined(BORINGSSL_NO_CXX)
5246 enum class OpenRecordResult {
5267 size_t *out_record_len,
5364 #endif // !defined(BORINGSSL_NO_CXX)
5368 #define SSL_R_APP_DATA_IN_HANDSHAKE 100
5369 #define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 101
5370 #define SSL_R_BAD_ALERT 102
5371 #define SSL_R_BAD_CHANGE_CIPHER_SPEC 103
5372 #define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 104
5373 #define SSL_R_BAD_DH_P_LENGTH 105
5374 #define SSL_R_BAD_DIGEST_LENGTH 106
5375 #define SSL_R_BAD_ECC_CERT 107
5376 #define SSL_R_BAD_ECPOINT 108
5377 #define SSL_R_BAD_HANDSHAKE_RECORD 109
5378 #define SSL_R_BAD_HELLO_REQUEST 110
5379 #define SSL_R_BAD_LENGTH 111
5380 #define SSL_R_BAD_PACKET_LENGTH 112
5381 #define SSL_R_BAD_RSA_ENCRYPT 113
5382 #define SSL_R_BAD_SIGNATURE 114
5383 #define SSL_R_BAD_SRTP_MKI_VALUE 115
5384 #define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 116
5385 #define SSL_R_BAD_SSL_FILETYPE 117
5386 #define SSL_R_BAD_WRITE_RETRY 118
5387 #define SSL_R_BIO_NOT_SET 119
5388 #define SSL_R_BN_LIB 120
5389 #define SSL_R_BUFFER_TOO_SMALL 121
5390 #define SSL_R_CA_DN_LENGTH_MISMATCH 122
5391 #define SSL_R_CA_DN_TOO_LONG 123
5392 #define SSL_R_CCS_RECEIVED_EARLY 124
5393 #define SSL_R_CERTIFICATE_VERIFY_FAILED 125
5394 #define SSL_R_CERT_CB_ERROR 126
5395 #define SSL_R_CERT_LENGTH_MISMATCH 127
5396 #define SSL_R_CHANNEL_ID_NOT_P256 128
5397 #define SSL_R_CHANNEL_ID_SIGNATURE_INVALID 129
5398 #define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 130
5399 #define SSL_R_CLIENTHELLO_PARSE_FAILED 131
5400 #define SSL_R_CLIENTHELLO_TLSEXT 132
5401 #define SSL_R_CONNECTION_REJECTED 133
5402 #define SSL_R_CONNECTION_TYPE_NOT_SET 134
5403 #define SSL_R_CUSTOM_EXTENSION_ERROR 135
5404 #define SSL_R_DATA_LENGTH_TOO_LONG 136
5405 #define SSL_R_DECODE_ERROR 137
5406 #define SSL_R_DECRYPTION_FAILED 138
5407 #define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 139
5408 #define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 140
5409 #define SSL_R_DH_P_TOO_LONG 141
5410 #define SSL_R_DIGEST_CHECK_FAILED 142
5411 #define SSL_R_DTLS_MESSAGE_TOO_BIG 143
5412 #define SSL_R_ECC_CERT_NOT_FOR_SIGNING 144
5413 #define SSL_R_EMS_STATE_INCONSISTENT 145
5414 #define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 146
5415 #define SSL_R_ERROR_ADDING_EXTENSION 147
5416 #define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 148
5417 #define SSL_R_ERROR_PARSING_EXTENSION 149
5418 #define SSL_R_EXCESSIVE_MESSAGE_SIZE 150
5419 #define SSL_R_EXTRA_DATA_IN_MESSAGE 151
5420 #define SSL_R_FRAGMENT_MISMATCH 152
5421 #define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 153
5422 #define SSL_R_HANDSHAKE_FAILURE_ON_CLIENT_HELLO 154
5423 #define SSL_R_HTTPS_PROXY_REQUEST 155
5424 #define SSL_R_HTTP_REQUEST 156
5425 #define SSL_R_INAPPROPRIATE_FALLBACK 157
5426 #define SSL_R_INVALID_COMMAND 158
5427 #define SSL_R_INVALID_MESSAGE 159
5428 #define SSL_R_INVALID_SSL_SESSION 160
5429 #define SSL_R_INVALID_TICKET_KEYS_LENGTH 161
5430 #define SSL_R_LENGTH_MISMATCH 162
5431 #define SSL_R_MISSING_EXTENSION 164
5432 #define SSL_R_MISSING_RSA_CERTIFICATE 165
5433 #define SSL_R_MISSING_TMP_DH_KEY 166
5434 #define SSL_R_MISSING_TMP_ECDH_KEY 167
5435 #define SSL_R_MIXED_SPECIAL_OPERATOR_WITH_GROUPS 168
5436 #define SSL_R_MTU_TOO_SMALL 169
5437 #define SSL_R_NEGOTIATED_BOTH_NPN_AND_ALPN 170
5438 #define SSL_R_NESTED_GROUP 171
5439 #define SSL_R_NO_CERTIFICATES_RETURNED 172
5440 #define SSL_R_NO_CERTIFICATE_ASSIGNED 173
5441 #define SSL_R_NO_CERTIFICATE_SET 174
5442 #define SSL_R_NO_CIPHERS_AVAILABLE 175
5443 #define SSL_R_NO_CIPHERS_PASSED 176
5444 #define SSL_R_NO_CIPHER_MATCH 177
5445 #define SSL_R_NO_COMPRESSION_SPECIFIED 178
5446 #define SSL_R_NO_METHOD_SPECIFIED 179
5447 #define SSL_R_NO_P256_SUPPORT 180
5448 #define SSL_R_NO_PRIVATE_KEY_ASSIGNED 181
5449 #define SSL_R_NO_RENEGOTIATION 182
5450 #define SSL_R_NO_REQUIRED_DIGEST 183
5451 #define SSL_R_NO_SHARED_CIPHER 184
5452 #define SSL_R_NULL_SSL_CTX 185
5453 #define SSL_R_NULL_SSL_METHOD_PASSED 186
5454 #define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 187
5455 #define SSL_R_OLD_SESSION_VERSION_NOT_RETURNED 188
5456 #define SSL_R_OUTPUT_ALIASES_INPUT 189
5457 #define SSL_R_PARSE_TLSEXT 190
5458 #define SSL_R_PATH_TOO_LONG 191
5459 #define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 192
5460 #define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 193
5461 #define SSL_R_PROTOCOL_IS_SHUTDOWN 194
5462 #define SSL_R_PSK_IDENTITY_NOT_FOUND 195
5463 #define SSL_R_PSK_NO_CLIENT_CB 196
5464 #define SSL_R_PSK_NO_SERVER_CB 197
5465 #define SSL_R_READ_TIMEOUT_EXPIRED 198
5466 #define SSL_R_RECORD_LENGTH_MISMATCH 199
5467 #define SSL_R_RECORD_TOO_LARGE 200
5468 #define SSL_R_RENEGOTIATION_ENCODING_ERR 201
5469 #define SSL_R_RENEGOTIATION_MISMATCH 202
5470 #define SSL_R_REQUIRED_CIPHER_MISSING 203
5471 #define SSL_R_RESUMED_EMS_SESSION_WITHOUT_EMS_EXTENSION 204
5472 #define SSL_R_RESUMED_NON_EMS_SESSION_WITH_EMS_EXTENSION 205
5473 #define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 206
5474 #define SSL_R_SERVERHELLO_TLSEXT 207
5475 #define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 208
5476 #define SSL_R_SESSION_MAY_NOT_BE_CREATED 209
5477 #define SSL_R_SIGNATURE_ALGORITHMS_EXTENSION_SENT_BY_SERVER 210
5478 #define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 211
5479 #define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 212
5480 #define SSL_R_SSL3_EXT_INVALID_SERVERNAME 213
5481 #define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 214
5482 #define SSL_R_SSL_HANDSHAKE_FAILURE 215
5483 #define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 216
5484 #define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 217
5485 #define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 218
5486 #define SSL_R_TOO_MANY_EMPTY_FRAGMENTS 219
5487 #define SSL_R_TOO_MANY_WARNING_ALERTS 220
5488 #define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 221
5489 #define SSL_R_UNEXPECTED_EXTENSION 222
5490 #define SSL_R_UNEXPECTED_MESSAGE 223
5491 #define SSL_R_UNEXPECTED_OPERATOR_IN_GROUP 224
5492 #define SSL_R_UNEXPECTED_RECORD 225
5493 #define SSL_R_UNINITIALIZED 226
5494 #define SSL_R_UNKNOWN_ALERT_TYPE 227
5495 #define SSL_R_UNKNOWN_CERTIFICATE_TYPE 228
5496 #define SSL_R_UNKNOWN_CIPHER_RETURNED 229
5497 #define SSL_R_UNKNOWN_CIPHER_TYPE 230
5498 #define SSL_R_UNKNOWN_DIGEST 231
5499 #define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 232
5500 #define SSL_R_UNKNOWN_PROTOCOL 233
5501 #define SSL_R_UNKNOWN_SSL_VERSION 234
5502 #define SSL_R_UNKNOWN_STATE 235
5503 #define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 236
5504 #define SSL_R_UNSUPPORTED_CIPHER 237
5505 #define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 238
5506 #define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 239
5507 #define SSL_R_UNSUPPORTED_PROTOCOL 240
5508 #define SSL_R_WRONG_CERTIFICATE_TYPE 241
5509 #define SSL_R_WRONG_CIPHER_RETURNED 242
5510 #define SSL_R_WRONG_CURVE 243
5511 #define SSL_R_WRONG_MESSAGE_TYPE 244
5512 #define SSL_R_WRONG_SIGNATURE_TYPE 245
5513 #define SSL_R_WRONG_SSL_VERSION 246
5514 #define SSL_R_WRONG_VERSION_NUMBER 247
5515 #define SSL_R_X509_LIB 248
5516 #define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 249
5517 #define SSL_R_SHUTDOWN_WHILE_IN_INIT 250
5518 #define SSL_R_INVALID_OUTER_RECORD_TYPE 251
5519 #define SSL_R_UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY 252
5520 #define SSL_R_NO_COMMON_SIGNATURE_ALGORITHMS 253
5521 #define SSL_R_DOWNGRADE_DETECTED 254
5522 #define SSL_R_EXCESS_HANDSHAKE_DATA 255
5523 #define SSL_R_INVALID_COMPRESSION_LIST 256
5524 #define SSL_R_DUPLICATE_EXTENSION 257
5525 #define SSL_R_MISSING_KEY_SHARE 258
5526 #define SSL_R_INVALID_ALPN_PROTOCOL 259
5527 #define SSL_R_TOO_MANY_KEY_UPDATES 260
5528 #define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 261
5529 #define SSL_R_NO_CIPHERS_SPECIFIED 262
5530 #define SSL_R_RENEGOTIATION_EMS_MISMATCH 263
5531 #define SSL_R_DUPLICATE_KEY_SHARE 264
5532 #define SSL_R_NO_GROUPS_SPECIFIED 265
5533 #define SSL_R_NO_SHARED_GROUP 266
5534 #define SSL_R_PRE_SHARED_KEY_MUST_BE_LAST 267
5535 #define SSL_R_OLD_SESSION_PRF_HASH_MISMATCH 268
5536 #define SSL_R_INVALID_SCT_LIST 269
5537 #define SSL_R_TOO_MUCH_SKIPPED_EARLY_DATA 270
5538 #define SSL_R_PSK_IDENTITY_BINDER_COUNT_MISMATCH 271
5539 #define SSL_R_CANNOT_PARSE_LEAF_CERT 272
5540 #define SSL_R_SERVER_CERT_CHANGED 273
5541 #define SSL_R_CERTIFICATE_AND_PRIVATE_KEY_MISMATCH 274
5542 #define SSL_R_CANNOT_HAVE_BOTH_PRIVKEY_AND_METHOD 275
5543 #define SSL_R_TICKET_ENCRYPTION_FAILED 276
5544 #define SSL_R_ALPN_MISMATCH_ON_EARLY_DATA 277
5545 #define SSL_R_WRONG_VERSION_ON_EARLY_DATA 278
5546 #define SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA 279
5547 #define SSL_R_NO_SUPPORTED_VERSIONS_ENABLED 280
5548 #define SSL_R_APPLICATION_DATA_INSTEAD_OF_HANDSHAKE 281
5549 #define SSL_R_EMPTY_HELLO_RETRY_REQUEST 282
5550 #define SSL_R_EARLY_DATA_NOT_IN_USE 283
5551 #define SSL_R_HANDSHAKE_NOT_COMPLETE 284
5552 #define SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI 285
5553 #define SSL_R_SERVER_ECHOED_INVALID_SESSION_ID 286
5554 #define SSL_R_PRIVATE_KEY_OPERATION_FAILED 287
5555 #define SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH 288
5556 #define SSL_R_OCSP_CB_ERROR 289
5557 #define SSL_R_SSL_SESSION_ID_TOO_LONG 290
5558 #define SSL_R_APPLICATION_DATA_ON_SHUTDOWN 291
5559 #define SSL_R_CERT_DECOMPRESSION_FAILED 292
5560 #define SSL_R_UNCOMPRESSED_CERT_TOO_LARGE 293
5561 #define SSL_R_UNKNOWN_CERT_COMPRESSION_ALG 294
5562 #define SSL_R_INVALID_SIGNATURE_ALGORITHM 295
5563 #define SSL_R_DUPLICATE_SIGNATURE_ALGORITHM 296
5564 #define SSL_R_TLS13_DOWNGRADE 297
5565 #define SSL_R_QUIC_INTERNAL_ERROR 298
5566 #define SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED 299
5567 #define SSL_R_TOO_MUCH_READ_EARLY_DATA 300
5568 #define SSL_R_INVALID_DELEGATED_CREDENTIAL 301
5569 #define SSL_R_KEY_USAGE_BIT_INCORRECT 302
5570 #define SSL_R_INCONSISTENT_CLIENT_HELLO 303
5571 #define SSL_R_CIPHER_MISMATCH_ON_EARLY_DATA 304
5572 #define SSL_R_QUIC_TRANSPORT_PARAMETERS_MISCONFIGURED 305
5573 #define SSL_R_UNEXPECTED_COMPATIBILITY_MODE 306
5574 #define SSL_R_NO_APPLICATION_PROTOCOL 307
5575 #define SSL_R_NEGOTIATED_ALPS_WITHOUT_ALPN 308
5576 #define SSL_R_ALPS_MISMATCH_ON_EARLY_DATA 309
5577 #define SSL_R_ECH_SERVER_CONFIG_AND_PRIVATE_KEY_MISMATCH 310
5578 #define SSL_R_ECH_SERVER_CONFIG_UNSUPPORTED_EXTENSION 311
5579 #define SSL_R_UNSUPPORTED_ECH_SERVER_CONFIG 312
5580 #define SSL_R_ECH_SERVER_WOULD_HAVE_NO_RETRY_CONFIGS 313
5581 #define SSL_R_INVALID_CLIENT_HELLO_INNER 314
5582 #define SSL_R_INVALID_ALPN_PROTOCOL_LIST 315
5583 #define SSL_R_COULD_NOT_PARSE_HINTS 316
5584 #define SSL_R_INVALID_ECH_PUBLIC_NAME 317
5585 #define SSL_R_INVALID_ECH_CONFIG_LIST 318
5586 #define SSL_R_ECH_REJECTED 319
5587 #define SSL_R_OUTER_EXTENSION_NOT_FOUND 320
5588 #define SSL_R_INCONSISTENT_ECH_NEGOTIATION 321
5589 #define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
5590 #define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
5591 #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
5592 #define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021
5593 #define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022
5594 #define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030
5595 #define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040
5596 #define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041
5597 #define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042
5598 #define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043
5599 #define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044
5600 #define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045
5601 #define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046
5602 #define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047
5603 #define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048
5604 #define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049
5605 #define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050
5606 #define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051
5607 #define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060
5608 #define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070
5609 #define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071
5610 #define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080
5611 #define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086
5612 #define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090
5613 #define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100
5614 #define SSL_R_TLSV1_ALERT_UNSUPPORTED_EXTENSION 1110
5615 #define SSL_R_TLSV1_ALERT_CERTIFICATE_UNOBTAINABLE 1111
5616 #define SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME 1112
5617 #define SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE 1113
5618 #define SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE 1114
5619 #define SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY 1115
5620 #define SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED 1116
5621 #define SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL 1120
5622 #define SSL_R_TLSV1_ALERT_ECH_REQUIRED 1121
5624 #endif // OPENSSL_HEADER_SSL_H
OPENSSL_EXPORT int SSL_set_ocsp_response(SSL *ssl, const uint8_t *response, size_t response_len)
#define SSL_CTX_add1_chain_cert
OPENSSL_EXPORT void SSL_get0_signed_cert_timestamp_list(const SSL *ssl, const uint8_t **out, size_t *out_len)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_1_server_method(void)
OPENSSL_EXPORT int i2d_SSL_SESSION_bio(BIO *bio, const SSL_SESSION *session)
OPENSSL_EXPORT uint16_t SSL_get_curve_id(const SSL *ssl)
OPENSSL_EXPORT int SSL_used_hello_retry_request(const SSL *ssl)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_2_method(void)
const uint8_t * cipher_suites
OPENSSL_EXPORT int SSL_CTX_sess_accept_good(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_get_verify_mode(const SSL *ssl)
OPENSSL_EXPORT void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb)
const OPENSSL_EXPORT char * SSL_get_version(const SSL *ssl)
#define SSL_CTX_set_tlsext_servername_callback
OPENSSL_EXPORT int SSL_get_ex_data_X509_STORE_CTX_idx(void)
OPENSSL_EXPORT void SSL_enable_signed_cert_timestamps(SSL *ssl)
OPENSSL_EXPORT X509_VERIFY_PARAM * SSL_CTX_get0_param(SSL_CTX *ctx)
int(* ssl_cert_compression_func_t)(SSL *ssl, CBB *out, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT int SSL_SESSION_should_be_single_use(const SSL_SESSION *session)
OPENSSL_EXPORT size_t SSL_get_server_random(const SSL *ssl, uint8_t *out, size_t max_out)
OPENSSL_EXPORT void SSL_SESSION_get0_ticket(const SSL_SESSION *session, const uint8_t **out_ticket, size_t *out_len)
const OPENSSL_EXPORT SSL_CIPHER * SSL_get_current_cipher(const SSL *ssl)
const OPENSSL_EXPORT SSL_METHOD * SSLv23_client_method(void)
OPENSSL_EXPORT SSL_SESSION * SSL_magic_pending_session_ptr(void)
ssl_early_data_ticket_age_skew
OPENSSL_EXPORT X509 * SSL_SESSION_get0_peer(const SSL_SESSION *session)
#define SSL_CTX_get0_chain_certs
OPENSSL_EXPORT void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, RSA *(*cb)(SSL *ssl, int is_export, int keylength))
OPENSSL_EXPORT void SSL_free(SSL *ssl)
OPENSSL_EXPORT SSL_CTX * SSL_get_SSL_CTX(const SSL *ssl)
OPENSSL_EXPORT int SSL_set_signing_algorithm_prefs(SSL *ssl, const uint16_t *prefs, size_t num_prefs)
OPENSSL_EXPORT int SSL_early_data_accepted(const SSL *ssl)
OPENSSL_EXPORT void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *ctx, int(*cb)(SSL *ssl, const uint8_t **out, unsigned *out_len, void *arg), void *arg)
OPENSSL_EXPORT SSL_CTX * SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_CTX_sess_accept(const SSL_CTX *ctx)
OPENSSL_EXPORT uint32_t SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session)
OPENSSL_EXPORT char * SSL_CIPHER_get_rfc_name(const SSL_CIPHER *cipher)
OPENSSL_EXPORT long SSL_get_verify_result(const SSL *ssl)
#define SSL_CTX_set_tmp_rsa
OPENSSL_EXPORT X509_STORE * SSL_CTX_get_cert_store(const SSL_CTX *ctx)
int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void **from_d, int index, long argl, void *argp)
OPENSSL_EXPORT void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int(*new_session_cb)(SSL *ssl, SSL_SESSION *session))
size_t compression_methods_len
OPENSSL_EXPORT int SSL_version(const SSL *ssl)
OPENSSL_EXPORT enum ssl_encryption_level_t SSL_quic_write_level(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles)
OPENSSL_EXPORT int SSL_set1_sigalgs_list(SSL *ssl, const char *str)
struct ssl_conf_ctx_st SSL_CONF_CTX
OPENSSL_EXPORT int SSL_has_pending(const SSL *ssl)
OPENSSL_EXPORT int SSL_get_quiet_shutdown(const SSL *ssl)
OPENSSL_EXPORT enum ssl_early_data_reason_t SSL_get_early_data_reason(const SSL *ssl)
const OPENSSL_EXPORT char * SSL_get_psk_identity_hint(const SSL *ssl)
OPENSSL_EXPORT SSL_SESSION * SSL_SESSION_from_bytes(const uint8_t *in, size_t in_len, const SSL_CTX *ctx)
const OPENSSL_EXPORT SSL_METHOD * SSLv23_server_method(void)
OPENSSL_EXPORT int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)
OPENSSL_EXPORT SSL_CTX * SSL_CTX_new(const SSL_METHOD *method)
OPENSSL_EXPORT EVP_PKEY * SSL_get_privatekey(const SSL *ssl)
OPENSSL_EXPORT int SSL_set1_sigalgs(SSL *ssl, const int *values, size_t num_values)
OPENSSL_EXPORT void SSL_CTX_set_retain_only_sha256_of_client_certs(SSL_CTX *ctx, int enable)
OPENSSL_EXPORT int SSL_SESSION_to_bytes_for_ticket(const SSL_SESSION *in, uint8_t **out_data, size_t *out_len)
OPENSSL_EXPORT int SSL_generate_key_block(const SSL *ssl, uint8_t *out, size_t out_len)
OPENSSL_EXPORT void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list)
OPENSSL_EXPORT int SSL_in_init(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_set0_verify_cert_store(SSL_CTX *ctx, X509_STORE *store)
int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)
const OPENSSL_EXPORT char * SSL_alert_desc_string(int value)
OPENSSL_EXPORT int SSL_renegotiate_pending(SSL *ssl)
OPENSSL_EXPORT int SSL_set_session_id_context(SSL *ssl, const uint8_t *sid_ctx, size_t sid_ctx_len)
OPENSSL_EXPORT int SSL_key_update(SSL *ssl, int request_type)
ssl_early_data_no_session_offered
const OPENSSL_EXPORT SSL_METHOD * TLS_client_method(void)
OPENSSL_EXPORT int SSL_cutthrough_complete(const SSL *ssl)
OPENSSL_EXPORT int SSL_get_wfd(const SSL *ssl)
enum ssl_private_key_result_t(* sign)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out, uint16_t signature_algorithm, const uint8_t *in, size_t in_len)
#define SSL_COMP_get_compression_methods
#define SSL_set_max_cert_list
OPENSSL_EXPORT int SSL_get_tls_unique(const SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out)
#define DTLSv1_handle_timeout
OPENSSL_EXPORT int SSL_set1_curves_list(SSL *ssl, const char *curves)
int(* flush_flight)(SSL *ssl)
OPENSSL_EXPORT int SSL_set_quic_early_data_context(SSL *ssl, const uint8_t *context, size_t context_len)
#define SSL_num_renegotiations
OPENSSL_EXPORT void SSL_CTX_flush_sessions(SSL_CTX *ctx, uint64_t time)
OPENSSL_EXPORT int SSL_set_fd(SSL *ssl, int fd)
OPENSSL_EXPORT int SSL_set_session(SSL *ssl, SSL_SESSION *session)
OPENSSL_EXPORT int(*)(SSL *ssl, SSL_SESSION *session) SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)
OPENSSL_EXPORT void ERR_load_SSL_strings(void)
OPENSSL_EXPORT int SSL_pending(const SSL *ssl)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_server_method(void)
OPENSSL_EXPORT void SSL_set_psk_client_callback(SSL *ssl, unsigned(*cb)(SSL *ssl, const char *hint, char *identity, unsigned max_identity_len, uint8_t *psk, unsigned max_psk_len))
ssl_early_data_alps_mismatch
OPENSSL_EXPORT int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x509)
#define SSL_CTX_set_read_ahead
const OPENSSL_EXPORT char * SSL_alert_type_string(int value)
#define SSL_CTX_set_tlsext_servername_arg
OPENSSL_EXPORT int SSL_get_signature_algorithm_key_type(uint16_t sigalg)
OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, unsigned protos_len)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_server_method(void)
OPENSSL_EXPORT X509 * SSL_get_peer_certificate(const SSL *ssl)
bool SealRecord(SSL *ssl, const Span< uint8_t > out_prefix, const Span< uint8_t > out, Span< uint8_t > out_suffix, const Span< const uint8_t > in)
#define SSL_CTX_sess_set_cache_size
OPENSSL_EXPORT void SSL_SESSION_get0_ocsp_response(const SSL_SESSION *session, const uint8_t **out, size_t *out_len)
const OPENSSL_EXPORT char * SSL_COMP_get0_name(const SSL_COMP *comp)
#define DEFINE_CONST_STACK_OF(type)
OPENSSL_EXPORT uint32_t SSL_CTX_get_timeout(const SSL_CTX *ctx)
#define SSL_CTX_set_tmp_dh
OPENSSL_EXPORT uint16_t SSL_CIPHER_get_max_version(const SSL_CIPHER *cipher)
OPENSSL_EXPORT void SSL_set_cert_cb(SSL *ssl, int(*cb)(SSL *ssl, void *arg), void *arg)
ssl_early_data_alpn_mismatch
OPENSSL_EXPORT X509_VERIFY_PARAM * SSL_get0_param(SSL *ssl)
OPENSSL_EXPORT int SSL_delegated_credential_used(const SSL *ssl)
OPENSSL_EXPORT int SSL_export_keying_material(SSL *ssl, uint8_t *out, size_t out_len, const char *label, size_t label_len, const uint8_t *context, size_t context_len, int use_context)
static struct test_ctx ctx
OPENSSL_EXPORT int SSL_CTX_sess_connect_good(const SSL_CTX *ctx)
#define SSL_CTX_get_session_cache_mode
#define SSL_CTX_add0_chain_cert
OPENSSL_EXPORT int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *out, const char *dir)
OPENSSL_EXPORT int SSL_CIPHER_is_aead(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_request_handshake_hints(SSL *ssl, const uint8_t *client_hello, size_t client_hello_len, const uint8_t *capabilities, size_t capabilities_len)
OPENSSL_EXPORT size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count)
OPENSSL_EXPORT void SSL_set_connect_state(SSL *ssl)
OPENSSL_EXPORT int SSL_early_callback_ctx_extension_get(const SSL_CLIENT_HELLO *client_hello, uint16_t extension_type, const uint8_t **out_data, size_t *out_len)
OPENSSL_EXPORT int SSL_SESSION_has_peer_sha256(const SSL_SESSION *session)
OPENSSL_EXPORT int SSL_select_next_proto(uint8_t **out, uint8_t *out_len, const uint8_t *peer, unsigned peer_len, const uint8_t *supported, unsigned supported_len)
OPENSSL_EXPORT void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *store)
OPENSSL_EXPORT int SSL_CTX_set_ex_data(SSL_CTX *ctx, int idx, void *data)
OPENSSL_EXPORT int SSL_enable_tls_channel_id(SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x509)
OPENSSL_EXPORT void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode)
#define SSL_CTX_add_extra_chain_cert
OPENSSL_EXPORT int SSL_CTX_cipher_in_group(const SSL_CTX *ctx, size_t i)
OPENSSL_EXPORT void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*cb)(SSL *ssl, int is_export, int keylength))
#define SSL_CTX_clear_extra_chain_certs
int pem_password_cb(char *buf, int size, int rwflag, void *userdata)
OPENSSL_EXPORT void(*)(const SSL *ssl, const char *line) SSL_CTX_get_keylog_callback(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_marshal_ech_config(uint8_t **out, size_t *out_len, uint8_t config_id, const EVP_HPKE_KEY *key, const char *public_name, size_t max_name_len)
OPENSSL_EXPORT int SSL_is_init_finished(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_get_verify_depth(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_shutdown(SSL *ssl)
OPENSSL_EXPORT int SSL_ECH_KEYS_add(SSL_ECH_KEYS *keys, int is_retry_config, const uint8_t *ech_config, size_t ech_config_len, const EVP_HPKE_KEY *key)
const OPENSSL_EXPORT SSL_METHOD * TLS_server_method(void)
ssl_early_data_protocol_version
OPENSSL_EXPORT void SSL_CTX_set_current_time_cb(SSL_CTX *ctx, void(*cb)(const SSL *ssl, struct timeval *out_clock))
OPENSSL_EXPORT int SSL_CTX_set_chain_and_key(SSL_CTX *ctx, CRYPTO_BUFFER *const *certs, size_t num_certs, EVP_PKEY *privkey, const SSL_PRIVATE_KEY_METHOD *privkey_method)
const OPENSSL_EXPORT uint8_t * SSL_get0_session_id_context(const SSL *ssl, size_t *out_len)
OPENSSL_EXPORT int SSL_set1_delegated_credential(SSL *ssl, CRYPTO_BUFFER *dc, EVP_PKEY *pkey, const SSL_PRIVATE_KEY_METHOD *key_method)
OPENSSL_EXPORT uint64_t SSL_SESSION_get_time(const SSL_SESSION *session)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_client_method(void)
OPENSSL_EXPORT int SSL_write(SSL *ssl, const void *buf, int num)
OPENSSL_EXPORT void SSL_CTX_set_ticket_aead_method(SSL_CTX *ctx, const SSL_TICKET_AEAD_METHOD *aead_method)
const OPENSSL_EXPORT SSL_METHOD * DTLS_with_buffers_method(void)
OPENSSL_EXPORT int SSL_get_fd(const SSL *ssl)
OPENSSL_EXPORT int SSL_set_cipher_list(SSL *ssl, const char *str)
#define SSL_CTX_get_read_ahead
int(* add_handshake_data)(SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len)
OPENSSL_EXPORT void SSL_load_error_strings(void)
const OPENSSL_EXPORT char * SSL_get_servername(const SSL *ssl, const int type)
int(* set_read_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len)
OPENSSL_EXPORT int SSL_set0_verify_cert_store(SSL *ssl, X509_STORE *store)
const OPENSSL_EXPORT uint8_t * SSL_SESSION_get0_id_context(const SSL_SESSION *session, unsigned *out_len)
const OPENSSL_EXPORT SRTP_PROTECTION_PROFILE * SSL_get_selected_srtp_profile(SSL *ssl)
#define SSL_CTX_set_max_send_fragment
#define SSL_get_client_CA_list
OPENSSL_EXPORT void SSL_set_client_CA_list(SSL *ssl, STACK_OF(X509_NAME) *name_list)
OPENSSL_EXPORT uint16_t SSL_get_max_proto_version(const SSL *ssl)
OPENSSL_EXPORT void SSL_set_enable_ech_grease(SSL *ssl, int enable)
OPENSSL_EXPORT int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func)
OPENSSL_EXPORT int SSL_CTX_set_trust(SSL_CTX *ctx, int trust)
ssl_early_data_peer_declined
OPENSSL_EXPORT void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int(*callback)(int ok, X509_STORE_CTX *store_ctx))
SSL_SESSION * SSL_SESSION_new(const SSL_CTX *ctx)
OPENSSL_EXPORT X509 * SSL_CTX_get0_certificate(const SSL_CTX *ctx)
#define SSL_CTX_set1_chain
OPENSSL_EXPORT int SSL_CTX_set_signing_algorithm_prefs(SSL_CTX *ctx, const uint16_t *prefs, size_t num_prefs)
const OPENSSL_EXPORT char * SSL_get_psk_identity(const SSL *ssl)
#define SSL_add0_chain_cert
OPENSSL_EXPORT void SSL_reset_early_data_reject(SSL *ssl)
OPENSSL_EXPORT int32_t SSL_get_ticket_age_skew(const SSL *ssl)
bool SSL_get_traffic_secrets(const SSL *ssl, Span< const uint8_t > *out_read_traffic_secret, Span< const uint8_t > *out_write_traffic_secret)
OPENSSL_EXPORT int SSL_peek(SSL *ssl, void *buf, int num)
const OPENSSL_EXPORT SSL_CIPHER * SSL_SESSION_get0_cipher(const SSL_SESSION *session)
#define BORINGSSL_MAKE_UP_REF(type, up_ref_func)
OPENSSL_EXPORT int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx)
#define SSL_SESSION_get0_peer_certificates
OPENSSL_EXPORT int SSL_get_extms_support(const SSL *ssl)
#define SSL_session_reused
OPENSSL_EXPORT void SSL_set_quiet_shutdown(SSL *ssl, int mode)
OPENSSL_EXPORT int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *out, const char *file)
OPENSSL_EXPORT X509 * SSL_get_certificate(const SSL *ssl)
#define SSL_get0_peer_certificates
OPENSSL_EXPORT int SSL_CTX_set_verify_algorithm_prefs(SSL_CTX *ctx, const uint16_t *prefs, size_t num_prefs)
bool SSL_decline_handoff(SSL *ssl)
#define SSL_load_client_CA_file
OPENSSL_EXPORT int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const uint8_t *sid_ctx, size_t sid_ctx_len)
OPENSSL_EXPORT int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
OPENSSL_EXPORT void * SSL_CTX_get_default_passwd_cb_userdata(const SSL_CTX *ctx)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_client_method(void)
OPENSSL_EXPORT void SSL_CTX_free(SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_set_tmp_rsa_callback(SSL *ssl, RSA *(*cb)(SSL *ssl, int is_export, int keylength))
OPENSSL_EXPORT void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void(*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg))
OPENSSL_EXPORT int SSL_CTX_set_ocsp_response(SSL_CTX *ctx, const uint8_t *response, size_t response_len)
OPENSSL_EXPORT void SSL_set_custom_verify(SSL *ssl, int mode, enum ssl_verify_result_t(*callback)(SSL *ssl, uint8_t *out_alert))
OPENSSL_EXPORT void SSL_get0_ech_name_override(const SSL *ssl, const char **out_name, size_t *out_name_len)
const OPENSSL_EXPORT SSL_CIPHER * SSL_get_pending_cipher(const SSL *ssl)
OPENSSL_EXPORT int SSL_use_certificate_ASN1(SSL *ssl, const uint8_t *der, size_t der_len)
OPENSSL_EXPORT void SSL_set_psk_server_callback(SSL *ssl, unsigned(*cb)(SSL *ssl, const char *identity, uint8_t *psk, unsigned max_psk_len))
OPENSSL_EXPORT void SSL_get0_alpn_selected(const SSL *ssl, const uint8_t **out_data, unsigned *out_len)
const OPENSSL_EXPORT char * SSL_CIPHER_get_version(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_alert_from_verify_result(long result)
OPENSSL_EXPORT enum ssl_encryption_level_t SSL_quic_read_level(const SSL *ssl)
OPENSSL_EXPORT void SSL_ECH_KEYS_up_ref(SSL_ECH_KEYS *keys)
OPENSSL_EXPORT void SSL_set_private_key_method(SSL *ssl, const SSL_PRIVATE_KEY_METHOD *key_method)
OPENSSL_EXPORT void SSL_CTX_set0_client_CAs(SSL_CTX *ctx, STACK_OF(CRYPTO_BUFFER) *name_list)
OPENSSL_EXPORT void SSL_CTX_enable_signed_cert_timestamps(SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_set_retain_only_sha256_of_client_certs(SSL *ssl, int enable)
OPENSSL_EXPORT size_t SSL_get_key_block_len(const SSL *ssl)
OPENSSL_EXPORT int SSL_set_trust(SSL *ssl, int trust)
#define SSL_CTX_get_tlsext_ticket_keys
OPENSSL_EXPORT void SSL_set_enforce_rsa_key_usage(SSL *ssl, int enabled)
OPENSSL_EXPORT void(*)(const SSL *ssl, int type, int value) SSL_get_info_callback(const SSL *ssl)
ssl_early_data_channel_id
#define SSL_get_peer_cert_chain
OPENSSL_EXPORT int SSL_get_tlsext_status_type(const SSL *ssl)
OPENSSL_EXPORT int SSL_state(const SSL *ssl)
OPENSSL_EXPORT void SSL_set_renegotiate_mode(SSL *ssl, enum ssl_renegotiate_mode_t mode)
ssl_early_data_reason_max_value
OPENSSL_EXPORT void SSL_CTX_set_grease_enabled(SSL_CTX *ctx, int enabled)
OPENSSL_EXPORT int SSL_set_strict_cipher_list(SSL *ssl, const char *str)
OPENSSL_EXPORT int SSL_library_init(void)
#define SSL_CTX_sess_get_cache_size
OPENSSL_EXPORT int SSL_get_verify_depth(const SSL *ssl)
OPENSSL_EXPORT void * SSL_get_ex_data(const SSL *ssl, int idx)
OPENSSL_EXPORT int SSL_check_private_key(const SSL *ssl)
const OPENSSL_EXPORT char * SSL_get_signature_algorithm_name(uint16_t sigalg, int include_curve)
const OPENSSL_EXPORT SSL_CIPHER * SSL_get_cipher_by_value(uint16_t value)
OPENSSL_EXPORT void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, unsigned(*cb)(SSL *ssl, const char *identity, uint8_t *psk, unsigned max_psk_len))
OPENSSL_EXPORT int SSL_get_shutdown(const SSL *ssl)
OPENSSL_EXPORT uint64_t SSL_SESSION_set_time(SSL_SESSION *session, uint64_t time)
OPENSSL_EXPORT pem_password_cb * SSL_CTX_get_default_passwd_cb(const SSL_CTX *ctx)
ssl_early_data_unsupported_for_session
const OPENSSL_EXPORT SSL_METHOD * TLS_method(void)
OPENSSL_EXPORT long BIO_set_ssl(BIO *bio, SSL *ssl, int take_owership)
OPENSSL_EXPORT int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func)
OPENSSL_EXPORT void(*)(SSL_CTX *ctx, SSL_SESSION *session) SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_ECH_KEYS_marshal_retry_configs(const SSL_ECH_KEYS *keys, uint8_t **out, size_t *out_len)
enum ssl_private_key_result_t(* complete)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out)
OPENSSL_EXPORT int SSL_CTX_sess_cache_full(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_SESSION_has_ticket(const SSL_SESSION *session)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_2_method(void)
OPENSSL_EXPORT int SSL_set_max_proto_version(SSL *ssl, uint16_t version)
OPENSSL_EXPORT int SSL_set_signed_cert_timestamp_list(SSL *ctx, const uint8_t *list, size_t list_len)
unsigned __int64 uint64_t
OPENSSL_EXPORT uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *cipher)
#define BSSL_NAMESPACE_END
OPENSSL_EXPORT int SSL_serialize_handshake_hints(const SSL *ssl, CBB *out)
OPENSSL_EXPORT void SSL_ECH_KEYS_free(SSL_ECH_KEYS *keys)
OPENSSL_EXPORT BIO * SSL_get_wbio(const SSL *ssl)
const OPENSSL_EXPORT COMP_METHOD * SSL_get_current_compression(SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_set1_tls_channel_id(SSL_CTX *ctx, EVP_PKEY *private_key)
const OPENSSL_EXPORT char * SSL_state_string(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session)
OPENSSL_EXPORT void SSL_get0_peer_application_settings(const SSL *ssl, const uint8_t **out_data, size_t *out_len)
OPENSSL_EXPORT int SSL_connect(SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose)
#define SSL_CTX_clear_mode
OPENSSL_EXPORT int SSL_SESSION_early_data_capable(const SSL_SESSION *session)
OPENSSL_EXPORT int SSL_is_server(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *ca_file, const char *ca_dir)
OPENSSL_EXPORT int SSL_add_client_CA(SSL *ssl, X509 *x509)
OPENSSL_EXPORT int SSL_set1_param(SSL *ssl, const X509_VERIFY_PARAM *param)
OPENSSL_EXPORT void SSL_CTX_set0_buffer_pool(SSL_CTX *ctx, CRYPTO_BUFFER_POOL *pool)
OPENSSL_EXPORT int SSL_CTX_set1_sigalgs(SSL_CTX *ctx, const int *values, size_t num_values)
OPENSSL_EXPORT int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, const uint8_t *der, size_t der_len)
OPENSSL_EXPORT void(*)(const SSL *ssl, int type, int value) SSL_CTX_get_info_callback(SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_set0_client_CAs(SSL *ssl, STACK_OF(CRYPTO_BUFFER) *name_list)
OPENSSL_EXPORT int SSL_set1_ech_config_list(SSL *ssl, const uint8_t *ech_config_list, size_t ech_config_list_len)
#define SSL_set_msg_callback_arg
OPENSSL_EXPORT int SSL_set_purpose(SSL *ssl, int purpose)
OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg)
OPENSSL_EXPORT SSL_SESSION * SSL_process_tls13_new_session_ticket(SSL *ssl, const uint8_t *buf, size_t buf_len)
OPENSSL_EXPORT int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session)
OPENSSL_EXPORT int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type)
OPENSSL_EXPORT uint16_t SSL_CTX_get_max_proto_version(const SSL_CTX *ctx)
OPENSSL_EXPORT uint32_t SSL_CTX_set_timeout(SSL_CTX *ctx, uint32_t timeout)
OPENSSL_EXPORT int SSL_CTX_set_record_protocol_version(SSL_CTX *ctx, int version)
OPENSSL_EXPORT int SSL_do_handshake(SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_sess_misses(const SSL_CTX *ctx)
OPENSSL_EXPORT void * SSL_SESSION_get_ex_data(const SSL_SESSION *session, int idx)
OPENSSL_EXPORT int SSL_in_false_start(const SSL *ssl)
const OPENSSL_EXPORT char * SSL_alert_type_string_long(int value)
OPENSSL_EXPORT long SSL_get_default_timeout(const SSL *ssl)
static void callback(void *arg, int status, int timeouts, struct hostent *host)
OPENSSL_EXPORT int SSL_SESSION_set1_id(SSL_SESSION *session, const uint8_t *sid, size_t sid_len)
OPENSSL_EXPORT size_t const uint8_t size_t response_len
OPENSSL_EXPORT void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, int(*cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len, const uint8_t *in, unsigned in_len, void *arg), void *arg)
OPENSSL_EXPORT int SSL_is_signature_algorithm_rsa_pss(uint16_t sigalg)
OPENSSL_EXPORT int SSL_CTX_set1_param(SSL_CTX *ctx, const X509_VERIFY_PARAM *param)
OPENSSL_EXPORT int SSL_CTX_enable_tls_channel_id(SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*cb)(SSL *ssl, int is_export, int keylength))
OPENSSL_EXPORT size_t SSL_get_tls_channel_id(SSL *ssl, uint8_t *out, size_t max_out)
#define SSL_clear_options
OPENSSL_EXPORT int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type)
OPENSSL_EXPORT int SSL_SESSION_is_resumable(const SSL_SESSION *session)
enum ssl_ticket_aead_result_t(* open)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_2_server_method(void)
OPENSSL_EXPORT size_t SSL_get0_peer_delegation_algorithms(const SSL *ssl, const uint16_t **out_sigalgs)
OPENSSL_EXPORT size_t SSL_SESSION_get_master_key(const SSL_SESSION *session, uint8_t *out, size_t max_out)
OpenRecordResult OpenRecord(SSL *ssl, Span< uint8_t > *out, size_t *out_record_len, uint8_t *out_alert, const Span< uint8_t > in)
OPENSSL_EXPORT int SSL_has_application_settings(const SSL *ssl)
const OPENSSL_EXPORT SSL_METHOD * DTLS_client_method(void)
OPENSSL_EXPORT void SSL_set_accept_state(SSL *ssl)
#define SSL_CTX_set0_chain
#define DEFINE_STACK_OF(type)
OPENSSL_EXPORT int SSL_COMP_get_id(const SSL_COMP *comp)
const OPENSSL_EXPORT BIO_METHOD * BIO_f_ssl(void)
#define SSL_CTX_set_max_cert_list
OPENSSL_EXPORT size_t SSL_get_peer_finished(const SSL *ssl, void *buf, size_t count)
OPENSSL_EXPORT int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const uint8_t *der, size_t der_len)
OPENSSL_EXPORT int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file)
OPENSSL_EXPORT EVP_PKEY * SSL_CTX_get0_privatekey(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_CTX_up_ref(SSL_CTX *ctx)
OPENSSL_EXPORT uint64_t SSL_get_write_sequence(const SSL *ssl)
OPENSSL_EXPORT void SSL_set0_wbio(SSL *ssl, BIO *wbio)
OPENSSL_EXPORT void SSL_CTX_set_reverify_on_resume(SSL_CTX *ctx, int enabled)
void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int index, long argl, void *argp)
ssl_early_data_quic_parameter_mismatch
OPENSSL_EXPORT SSL_SESSION *(*)(SSL *ssl, const uint8_t *id, int id_len, int *out_copy) SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_SESSION_get0_signed_cert_timestamp_list(const SSL_SESSION *session, const uint8_t **out, size_t *out_len)
OPENSSL_EXPORT SSL_SESSION * SSL_get1_session(SSL *ssl)
OPENSSL_EXPORT int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_read(SSL *ssl, void *buf, int num)
DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) OPENSSL_EXPORT SSL_SESSION *SSL_SESSION_new(const SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_get0_ech_retry_configs(const SSL *ssl, const uint8_t **out_retry_configs, size_t *out_retry_configs_len)
#define SSL_get0_chain_certs
OPENSSL_EXPORT int SSL_cache_hit(SSL *ssl)
OPENSSL_EXPORT int SSL_CIPHER_get_prf_nid(const SSL_CIPHER *cipher)
OPENSSL_EXPORT void SSL_CTX_set_next_proto_select_cb(SSL_CTX *ctx, int(*cb)(SSL *ssl, uint8_t **out, uint8_t *out_len, const uint8_t *in, unsigned in_len, void *arg), void *arg)
#define SSL_get0_certificate_types
OPENSSL_EXPORT uint64_t SSL_get_read_sequence(const SSL *ssl)
OPENSSL_EXPORT int SSL_SESSION_set_protocol_version(SSL_SESSION *session, uint16_t version)
size_t(* max_overhead)(SSL *ssl)
OPENSSL_EXPORT uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *cipher)
const uint8_t * session_id
#define SSL_CTX_get_max_cert_list
OPENSSL_EXPORT int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits)
OPENSSL_EXPORT int SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **out_key)
OPENSSL_EXPORT int SSL_use_psk_identity_hint(SSL *ssl, const char *identity_hint)
OPENSSL_EXPORT void SSL_set_verify(SSL *ssl, int mode, int(*callback)(int ok, X509_STORE_CTX *store_ctx))
OPENSSL_EXPORT void SSL_CTX_set_allow_unknown_alpn_protos(SSL_CTX *ctx, int enabled)
OPENSSL_EXPORT int SSL_CTX_add_cert_compression_alg(SSL_CTX *ctx, uint16_t alg_id, ssl_cert_compression_func_t compress, ssl_cert_decompression_func_t decompress)
OPENSSL_EXPORT int SSL_CTX_set1_curves_list(SSL_CTX *ctx, const char *curves)
int(* seal)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT int SSL_ech_accepted(const SSL *ssl)
OPENSSL_EXPORT void SSL_set_msg_callback(SSL *ssl, void(*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg))
const OPENSSL_EXPORT char * SSL_CIPHER_get_name(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_CTX_check_private_key(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_process_quic_post_handshake(SSL *ssl)
OPENSSL_EXPORT int(*)(int ok, X509_STORE_CTX *store_ctx) SSL_get_verify_callback(const SSL *ssl)
const OPENSSL_EXPORT SSL_METHOD * DTLS_server_method(void)
OPENSSL_EXPORT void SSL_set_quic_use_legacy_codepoint(SSL *ssl, int use_legacy)
OPENSSL_EXPORT int SSL_set_tlsext_status_ocsp_resp(SSL *ssl, uint8_t *resp, size_t resp_len)
OPENSSL_EXPORT int SSL_get_error(const SSL *ssl, int ret_code)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_method(void)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_1_client_method(void)
size_t SealRecordSuffixLen(const SSL *ssl, const size_t plaintext_len)
OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type)
int(* set_write_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len)
#define SSL_total_renegotiations
const OPENSSL_EXPORT STACK_OF(CRYPTO_BUFFER) *SSL_CTX_get0_chain(const SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_CTX_set_cert_cb(SSL_CTX *ctx, int(*cb)(SSL *ssl, void *arg), void *arg)
OPENSSL_EXPORT SSL * SSL_new(SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_CTX_set_quic_method(SSL_CTX *ctx, const SSL_QUIC_METHOD *quic_method)
#define SSL_CTX_get_options
const uint8_t * compression_methods
const OPENSSL_EXPORT uint8_t * SSL_SESSION_get_id(const SSL_SESSION *session, unsigned *out_len)
void SSL_CTX_set_handoff_mode(SSL_CTX *ctx, bool on)
const OPENSSL_EXPORT SSL_METHOD * DTLSv1_2_client_method(void)
#define SSL_CTX_get_client_CA_list
OPENSSL_EXPORT int SSL_CTX_sess_connect_renegotiate(const SSL_CTX *ctx)
#define SSL_get_max_cert_list
#define SSL_CTX_clear_chain_certs
OPENSSL_EXPORT void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, void(*cb)(const SSL *ssl, const char *line))
#define SSL_get_srtp_profiles
const OPENSSL_EXPORT char * SSL_CIPHER_standard_name(const SSL_CIPHER *cipher)
#define SSL_CTX_get_extra_chain_certs
OPENSSL_EXPORT int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos, unsigned protos_len)
OPENSSL_EXPORT int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_SESSION_set_ex_data(SSL_SESSION *session, int idx, void *data)
#define SSL_CTX_need_tmp_RSA
const OPENSSL_EXPORT SSL_METHOD * TLSv1_1_method(void)
OPENSSL_EXPORT int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles)
OPENSSL_EXPORT int SSL_CTX_set_strict_cipher_list(SSL_CTX *ctx, const char *str)
OPENSSL_EXPORT int SSL_CTX_set1_sigalgs_list(SSL_CTX *ctx, const char *str)
#define SSL_CTX_set_msg_callback_arg
struct ossl_init_settings_st OPENSSL_INIT_SETTINGS
OPENSSL_EXPORT int SSL_CTX_sess_accept_renegotiate(const SSL_CTX *ctx)
const uint8_t * extensions
OPENSSL_EXPORT SSL_SESSION * SSL_get_session(const SSL *ssl)
OPENSSL_EXPORT int SSL_CTX_set_min_proto_version(SSL_CTX *ctx, uint16_t version)
ssl_encryption_application
OPENSSL_EXPORT int SSL_set_wfd(SSL *ssl, int fd)
OPENSSL_EXPORT void SSL_get0_ocsp_response(const SSL *ssl, const uint8_t **out, size_t *out_len)
OPENSSL_EXPORT void SSL_SESSION_free(SSL_SESSION *session)
OPENSSL_EXPORT void SSL_set_permute_extensions(SSL *ssl, int enabled)
OPENSSL_EXPORT void SSL_enable_ocsp_stapling(SSL *ssl)
OPENSSL_EXPORT void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio)
OPENSSL_EXPORT int SSL_CTX_sess_connect(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_SESSION_up_ref(SSL_SESSION *session)
OPENSSL_EXPORT void SSL_CTX_set_early_data_enabled(SSL_CTX *ctx, int enabled)
OPENSSL_EXPORT void SSL_COMP_free_compression_methods(void)
OPENSSL_EXPORT int SSL_SESSION_set_ticket(SSL_SESSION *session, const uint8_t *ticket, size_t ticket_len)
OPENSSL_EXPORT int SSL_clear(SSL *ssl)
#define SSL_CTX_set_options
OPENSSL_EXPORT uint32_t SSL_SESSION_get_timeout(const SSL_SESSION *session)
OPENSSL_EXPORT size_t SSL_max_seal_overhead(const SSL *ssl)
#define SSL_CTX_set_session_cache_mode
OPENSSL_EXPORT int SSL_ECH_KEYS_has_duplicate_config_id(const SSL_ECH_KEYS *keys)
OPENSSL_EXPORT int SSL_set1_verify_cert_store(SSL *ssl, X509_STORE *store)
const OPENSSL_EXPORT char * SSL_CIPHER_get_kx_name(const SSL_CIPHER *cipher)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_method(void)
OPENSSL_EXPORT size_t SSL_get_tlsext_status_ocsp_resp(const SSL *ssl, const uint8_t **out)
OPENSSL_EXPORT int SSL_serialize_capabilities(const SSL *ssl, CBB *out)
const OPENSSL_EXPORT SSL_METHOD * TLS_with_buffers_method(void)
OPENSSL_EXPORT int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params, size_t params_len)
const OPENSSL_EXPORT char * SSL_error_description(int err)
OPENSSL_EXPORT void SSL_get_peer_quic_transport_params(const SSL *ssl, const uint8_t **out_params, size_t *out_params_len)
OPENSSL_EXPORT void SSL_CTX_enable_ocsp_stapling(SSL_CTX *ctx)
ssl_early_data_hello_retry_request
OPENSSL_EXPORT void SSL_CTX_set_dos_protection_cb(SSL_CTX *ctx, int(*cb)(const SSL_CLIENT_HELLO *))
OPENSSL_EXPORT int SSL_set_srtp_profiles(SSL *ssl, const char *profiles)
OPENSSL_EXPORT void SSL_CTX_set_private_key_method(SSL_CTX *ctx, const SSL_PRIVATE_KEY_METHOD *key_method)
OPENSSL_EXPORT int SSL_CTX_set1_ech_keys(SSL_CTX *ctx, SSL_ECH_KEYS *keys)
OPENSSL_EXPORT uint16_t SSL_get_min_proto_version(const SSL *ssl)
OPENSSL_EXPORT int SSL_set_read_ahead(SSL *ssl, int yes)
const OPENSSL_EXPORT COMP_METHOD * SSL_get_current_expansion(SSL *ssl)
OPENSSL_EXPORT void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth)
OPENSSL_EXPORT int SSL_SESSION_set1_id_context(SSL_SESSION *session, const uint8_t *sid_ctx, size_t sid_ctx_len)
OPENSSL_EXPORT int SSL_CTX_sess_hits(const SSL_CTX *ctx)
const OPENSSL_EXPORT char * SSL_early_data_reason_string(enum ssl_early_data_reason_t reason)
OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const uint8_t *der, size_t der_len)
OPENSSL_EXPORT void SSL_get0_next_proto_negotiated(const SSL *ssl, const uint8_t **out_data, unsigned *out_len)
const OPENSSL_EXPORT char * SSL_SESSION_get_version(const SSL_SESSION *session)
OPENSSL_EXPORT void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, int(*callback)(X509_STORE_CTX *store_ctx, void *arg), void *arg)
std::array< int64_t, Size > values
OPENSSL_EXPORT int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func)
bool SSL_apply_handoff(SSL *ssl, Span< const uint8_t > handoff)
OPENSSL_EXPORT int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings)
#define SSL_get0_server_requested_CAs
OPENSSL_EXPORT void SSL_CTX_set_custom_verify(SSL_CTX *ctx, int mode, enum ssl_verify_result_t(*callback)(SSL *ssl, uint8_t *out_alert))
const OPENSSL_EXPORT SSL_METHOD * TLSv1_2_server_method(void)
enum ssl_private_key_result_t BORINGSSL_ENUM_INT
ssl_ticket_aead_ignore_ticket
OPENSSL_EXPORT int SSL_CTX_set_srtp_profiles(SSL_CTX *ctx, const char *profiles)
OPENSSL_EXPORT void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void(*remove_session_cb)(SSL_CTX *ctx, SSL_SESSION *session))
OPENSSL_EXPORT char * SSL_get_shared_ciphers(const SSL *ssl, char *buf, int len)
OPENSSL_EXPORT int SSL_in_early_data(const SSL *ssl)
#define BORINGSSL_MAKE_DELETER(type, deleter)
OPENSSL_EXPORT uint32_t SSL_SESSION_set_timeout(SSL_SESSION *session, uint32_t timeout)
OPENSSL_EXPORT uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int i2d_SSL_SESSION(SSL_SESSION *in, uint8_t **pp)
OPENSSL_EXPORT int SSL_get_ivs(const SSL *ssl, const uint8_t **out_read_iv, const uint8_t **out_write_iv, size_t *out_iv_len)
#define SSL_CTX_set1_curves
OPENSSL_EXPORT int SSL_use_certificate_file(SSL *ssl, const char *file, int type)
OPENSSL_EXPORT void SSL_CTX_set_select_certificate_cb(SSL_CTX *ctx, enum ssl_select_cert_result_t(*cb)(const SSL_CLIENT_HELLO *))
OPENSSL_EXPORT int SSL_CIPHER_is_block_cipher(const SSL_CIPHER *cipher)
OPENSSL_EXPORT void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int(*cb)(SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey))
#define DTLSv1_get_timeout
OPENSSL_EXPORT int SSL_can_release_private_key(const SSL *ssl)
OPENSSL_EXPORT void SSL_set_info_callback(SSL *ssl, void(*cb)(const SSL *ssl, int type, int value))
#define SSL_CTX_set_tlsext_ticket_keys
InternalDescriptorPool * pool
OPENSSL_EXPORT int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey)
const OPENSSL_EXPORT char * SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int len)
OPENSSL_EXPORT uint16_t SSL_CTX_get_min_proto_version(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method)
OPENSSL_EXPORT size_t SSL_quic_max_handshake_flight_len(const SSL *ssl, enum ssl_encryption_level_t level)
OPENSSL_EXPORT int SSL_CTX_set1_verify_cert_store(SSL_CTX *ctx, X509_STORE *store)
OPENSSL_EXPORT void SSL_set_tls_channel_id_enabled(SSL *ssl, int enabled)
OPENSSL_EXPORT void SSL_set_verify_depth(SSL *ssl, int depth)
const OPENSSL_EXPORT char * SSL_state_string_long(const SSL *ssl)
const OPENSSL_EXPORT char * SSL_COMP_get_name(const COMP_METHOD *comp)
ssl_encryption_early_data
OPENSSL_EXPORT int SSL_get_shared_sigalgs(SSL *ssl, int idx, int *psign, int *phash, int *psignandhash, uint8_t *rsig, uint8_t *rhash)
OPENSSL_EXPORT int SSL_send_fatal_alert(SSL *ssl, uint8_t alert)
const uint8_t * client_hello
OPENSSL_EXPORT void SSL_CTX_set_session_psk_dhe_timeout(SSL_CTX *ctx, uint32_t timeout)
OPENSSL_EXPORT int SSL_add_application_settings(SSL *ssl, const uint8_t *proto, size_t proto_len, const uint8_t *settings, size_t settings_len)
OPENSSL_EXPORT void SSL_CTX_set_permute_extensions(SSL_CTX *ctx, int enabled)
OPENSSL_EXPORT int SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len)
OPENSSL_EXPORT int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa)
grpc::ClientContext context
OPENSSL_EXPORT int(*)(int ok, X509_STORE_CTX *store_ctx) SSL_CTX_get_verify_callback(const SSL_CTX *ctx)
OPENSSL_EXPORT int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa)
OPENSSL_EXPORT int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, size_t der_len, const uint8_t *der)
OPENSSL_EXPORT void SSL_certs_clear(SSL *ssl)
OPENSSL_EXPORT int SSL_want(const SSL *ssl)
#define SSL_CTX_clear_options
OPENSSL_EXPORT int SSL_SESSION_to_bytes(const SSL_SESSION *in, uint8_t **out_data, size_t *out_len)
const OPENSSL_EXPORT SSL_METHOD * TLSv1_2_client_method(void)
OPENSSL_EXPORT int SSL_accept(SSL *ssl)
OPENSSL_EXPORT int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *cipher)
OPENSSL_EXPORT SSL_ECH_KEYS * SSL_ECH_KEYS_new(void)
#define SSL_CTX_sess_number
OPENSSL_EXPORT int SSL_set_verify_algorithm_prefs(SSL *ssl, const uint16_t *prefs, size_t num_prefs)
OPENSSL_EXPORT int SSL_set_chain_and_key(SSL *ssl, CRYPTO_BUFFER *const *certs, size_t num_certs, EVP_PKEY *privkey, const SSL_PRIVATE_KEY_METHOD *privkey_method)
int(* send_alert)(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert)
OPENSSL_EXPORT int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str)
OPENSSL_EXPORT int SSL_set_ex_data(SSL *ssl, int idx, void *data)
enum ssl_private_key_result_t(* decrypt)(SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT void SSL_CTX_set_tls_channel_id_enabled(SSL_CTX *ctx, int enabled)
OPENSSL_EXPORT size_t SSL_get0_peer_verify_algorithms(const SSL *ssl, const uint16_t **out_sigalgs)
OPENSSL_EXPORT int SSL_set_tlsext_status_type(SSL *ssl, int type)
const OPENSSL_EXPORT char * SSL_alert_desc_string_long(int value)
size_t SealRecordPrefixLen(const SSL *ssl, const size_t record_len)
#define SSL_CTX_get0_chain
#define SSL_get_peer_full_cert_chain
OPENSSL_EXPORT void SSL_set0_rbio(SSL *ssl, BIO *rbio)
OPENSSL_EXPORT void SSL_set_jdk11_workaround(SSL *ssl, int enable)
OPENSSL_EXPORT void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *data)
OPENSSL_EXPORT int SSL_renegotiate(SSL *ssl)
const OPENSSL_EXPORT char * SSL_get_curve_name(uint16_t curve_id)
OPENSSL_EXPORT int SSL_CTX_sess_timeouts(const SSL_CTX *ctx)
OPENSSL_EXPORT void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*get_session_cb)(SSL *ssl, const uint8_t *id, int id_len, int *out_copy))
OPENSSL_EXPORT int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const uint8_t *der, size_t der_len)
OPENSSL_EXPORT void * SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx)
OPENSSL_EXPORT void DTLSv1_set_initial_timeout_duration(SSL *ssl, unsigned duration_ms)
OPENSSL_EXPORT void SSL_set_early_data_enabled(SSL *ssl, int enabled)
OPENSSL_EXPORT int SSL_CTX_set_signed_cert_timestamp_list(SSL_CTX *ctx, const uint8_t *list, size_t list_len)
OPENSSL_EXPORT int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm)
OPENSSL_EXPORT SSL_SESSION * SSL_SESSION_copy_without_early_data(SSL_SESSION *session)
#define SSL_set_max_send_fragment
OPENSSL_EXPORT int SSL_set_min_proto_version(SSL *ssl, uint16_t version)
OPENSSL_EXPORT int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey)
OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_cb(SSL_CTX *ctx, int(*callback)(SSL *ssl, void *arg))
#define SSL_set_tlsext_host_name
OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session, const uint8_t **out_ptr, size_t *out_len)
OPENSSL_EXPORT uint16_t SSL_CIPHER_get_min_version(const SSL_CIPHER *cipher)
OPENSSL_EXPORT int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint)
const OPENSSL_EXPORT SSL_METHOD * SSLv23_method(void)
OPENSSL_EXPORT void SSL_set_state(SSL *ssl, int state)
#define SSL_get_secure_renegotiation_support
OPENSSL_EXPORT BIO * SSL_get_rbio(const SSL *ssl)
const OPENSSL_EXPORT EVP_MD * SSL_get_signature_algorithm_digest(uint16_t sigalg)
OPENSSL_EXPORT int SSL_get_rfd(const SSL *ssl)
#define SSL_CTX_set_tmp_ecdh
const OPENSSL_EXPORT SSL_METHOD * DTLS_method(void)
bool SSL_serialize_handback(const SSL *ssl, CBB *out)
OPENSSL_EXPORT void SSL_CTX_set_false_start_allowed_without_alpn(SSL_CTX *ctx, int allowed)
ssl_early_data_session_not_resumed
OPENSSL_EXPORT void SSL_set_shutdown(SSL *ssl, int mode)
void SSL_set_handoff_mode(SSL *ssl, bool on)
#define SSL_add1_chain_cert
bool SSL_serialize_handoff(const SSL *ssl, CBB *out, SSL_CLIENT_HELLO *out_hello)
OPENSSL_EXPORT int SSL_get_servername_type(const SSL *ssl)
OPENSSL_EXPORT int SSL_use_certificate(SSL *ssl, X509 *x509)
OPENSSL_EXPORT void SSL_set_shed_handshake_config(SSL *ssl, int enable)
const OPENSSL_EXPORT char * SSL_get_cipher_list(const SSL *ssl, int n)
OPENSSL_EXPORT int SSL_CTX_sess_cb_hits(const SSL_CTX *ctx)
OPENSSL_EXPORT size_t SSL_get_client_random(const SSL *ssl, uint8_t *out, size_t max_out)
#define SSL_CTX_set_tlsext_ticket_key_cb
OPENSSL_EXPORT int SSL_set1_tls_channel_id(SSL *ssl, EVP_PKEY *private_key)
int(* ssl_cert_decompression_func_t)(SSL *ssl, CRYPTO_BUFFER **out, size_t uncompressed_len, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT pem_password_cb * cb
#define SSL_clear_chain_certs
OPENSSL_EXPORT void SSL_CTX_set_info_callback(SSL_CTX *ctx, void(*cb)(const SSL *ssl, int type, int value))
OPENSSL_EXPORT int SSL_CTX_get_verify_mode(const SSL_CTX *ctx)
bool SSL_apply_handback(SSL *ssl, Span< const uint8_t > handback)
OPENSSL_EXPORT SSL_SESSION * d2i_SSL_SESSION_bio(BIO *bio, SSL_SESSION **out)
#define SSL_CTX_get_ciphers
OPENSSL_EXPORT int SSL_get_read_ahead(const SSL *ssl)
OPENSSL_EXPORT int SSL_set_handshake_hints(SSL *ssl, const uint8_t *hints, size_t hints_len)
uint16_t signature_algorithm
OPENSSL_EXPORT uint16_t SSL_get_peer_signature_algorithm(const SSL *ssl)
OPENSSL_EXPORT SSL_SESSION * d2i_SSL_SESSION(SSL_SESSION **a, const uint8_t **pp, long length)
OPENSSL_EXPORT uint16_t SSL_SESSION_get_protocol_version(const SSL_SESSION *session)
OPENSSL_EXPORT int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, uint16_t version)
OPENSSL_EXPORT int SSL_set_rfd(SSL *ssl, int fd)
OPENSSL_EXPORT void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, unsigned(*cb)(SSL *ssl, const char *hint, char *identity, unsigned max_identity_len, uint8_t *psk, unsigned max_psk_len))
OPENSSL_EXPORT int SSL_is_dtls(const SSL *ssl)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:20