1 /* ssl.h 2 * 3 * Copyright (C) 2006-2021 wolfSSL Inc. 4 * 5 * This file is part of wolfSSL. 6 * 7 * wolfSSL is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * wolfSSL is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 20 */ 21 22 23 24 /* ssl.h defines wolfssl_openssl compatibility layer 25 * 26 */ 27 28 29 #ifndef WOLFSSL_OPENSSL_H_ 30 #define WOLFSSL_OPENSSL_H_ 31 32 /* wolfssl_openssl compatibility layer */ 33 #ifndef OPENSSL_EXTRA_SSL_GUARD 34 #define OPENSSL_EXTRA_SSL_GUARD 35 #include <wolfssl/ssl.h> 36 #endif /* OPENSSL_EXTRA_SSL_GUARD */ 37 38 #include <wolfssl/openssl/tls1.h> 39 #ifndef WOLFCRYPT_ONLY 40 #include <wolfssl/openssl/evp.h> 41 #endif 42 #include <wolfssl/openssl/bio.h> 43 #ifdef OPENSSL_EXTRA 44 #include <wolfssl/openssl/crypto.h> 45 #endif 46 47 #if defined(WOLFSSL_QT) || defined(OPENSSL_ALL) 48 #include <wolfssl/openssl/dh.h> 49 #include <wolfssl/openssl/objects.h> 50 #endif 51 52 /* need MIN_CODE_E to determine wolfSSL error range */ 53 #include <wolfssl/wolfcrypt/error-crypt.h> 54 55 /* all NID_* values are in asn.h */ 56 #include <wolfssl/wolfcrypt/asn.h> 57 58 #include <wolfssl/openssl/x509.h> 59 60 #ifdef __cplusplus 61 extern "C" { 62 #endif 63 64 #ifdef _WIN32 65 /* wincrypt.h clashes */ 66 #undef X509_NAME 67 #endif 68 69 #ifdef WOLFSSL_UTASKER 70 /* tcpip.h clashes */ 71 #undef ASN1_INTEGER 72 #endif 73 74 #ifdef OPENSSL_EXTRA 75 WOLFSSL_API int wolfSSL_OPENSSL_init_ssl(word64 opts, const OPENSSL_INIT_SETTINGS *settings); 76 #endif 77 78 typedef WOLFSSL SSL; 79 typedef WOLFSSL_SESSION SSL_SESSION; 80 typedef WOLFSSL_METHOD SSL_METHOD; 81 typedef WOLFSSL_CTX SSL_CTX; 82 83 typedef WOLFSSL_X509 X509; 84 typedef WOLFSSL_X509 X509_REQ; 85 typedef WOLFSSL_X509_NAME X509_NAME; 86 typedef WOLFSSL_X509_INFO X509_INFO; 87 typedef WOLFSSL_X509_CHAIN X509_CHAIN; 88 89 /* STACK_OF(ASN1_OBJECT) */ 90 typedef WOLFSSL_STACK EXTENDED_KEY_USAGE; 91 92 93 /* redeclare guard */ 94 #define WOLFSSL_TYPES_DEFINED 95 96 typedef WOLFSSL_BIO BIO; 97 typedef WOLFSSL_BIO_METHOD BIO_METHOD; 98 typedef WOLFSSL_CIPHER SSL_CIPHER; 99 typedef WOLFSSL_X509_LOOKUP X509_LOOKUP; 100 typedef WOLFSSL_X509_LOOKUP_METHOD X509_LOOKUP_METHOD; 101 typedef WOLFSSL_X509_CRL X509_CRL; 102 typedef WOLFSSL_X509_EXTENSION X509_EXTENSION; 103 typedef WOLFSSL_X509_PUBKEY X509_PUBKEY; 104 typedef WOLFSSL_X509_ALGOR X509_ALGOR; 105 typedef WOLFSSL_ASN1_TIME ASN1_TIME; 106 typedef WOLFSSL_ASN1_INTEGER ASN1_INTEGER; 107 typedef WOLFSSL_ASN1_OBJECT ASN1_OBJECT; 108 typedef WOLFSSL_ASN1_STRING ASN1_STRING; 109 typedef WOLFSSL_ASN1_TYPE ASN1_TYPE; 110 typedef WOLFSSL_X509_ATTRIBUTE X509_ATTRIBUTE; 111 typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; 112 typedef WOLFSSL_dynlock_value CRYPTO_dynlock_value; 113 typedef WOLFSSL_BUF_MEM BUF_MEM; 114 typedef WOLFSSL_GENERAL_NAMES GENERAL_NAMES; 115 typedef WOLFSSL_GENERAL_NAME GENERAL_NAME; 116 typedef WOLFSSL_OBJ_NAME OBJ_NAME; 117 typedef WOLFSSL_DIST_POINT_NAME DIST_POINT_NAME; 118 typedef WOLFSSL_DIST_POINT DIST_POINT; 119 120 #define X509_L_FILE_LOAD WOLFSSL_X509_L_FILE_LOAD 121 #define X509_L_ADD_DIR WOLFSSL_X509_L_ADD_DIR 122 #define X509_L_ADD_STORE WOLFSSL_X509_L_ADD_STORE 123 #define X509_L_LOAD_STORE WOLFSSL_X509_L_LOAD_STORE 124 125 #define ASN1_UTCTIME WOLFSSL_ASN1_TIME 126 #define ASN1_GENERALIZEDTIME WOLFSSL_ASN1_TIME 127 128 typedef WOLFSSL_COMP_METHOD COMP_METHOD; 129 typedef WOLFSSL_COMP SSL_COMP; 130 typedef WOLFSSL_X509_REVOKED X509_REVOKED; 131 typedef WOLFSSL_X509_LOOKUP_TYPE X509_LOOKUP_TYPE; 132 typedef WOLFSSL_X509_OBJECT X509_OBJECT; 133 typedef WOLFSSL_X509_STORE X509_STORE; 134 typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX; 135 typedef WOLFSSL_X509_VERIFY_PARAM X509_VERIFY_PARAM; 136 137 typedef int OSSL_HANDSHAKE_STATE; 138 #define TLS_ST_BEFORE 0 /* NULL_STATE from enum states */ 139 140 #define EVP_CIPHER_INFO EncryptedInfo 141 142 #define STACK_OF(x) WOLFSSL_STACK 143 #define OPENSSL_STACK WOLFSSL_STACK 144 #define _STACK OPENSSL_STACK 145 146 #define CONF_get1_default_config_file wolfSSL_CONF_get1_default_config_file 147 typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; 148 149 #define CRYPTO_free wolfSSL_CRYPTO_free 150 #define CRYPTO_malloc wolfSSL_CRYPTO_malloc 151 #define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new 152 #define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup 153 #define CRYPTO_EX_free WOLFSSL_CRYPTO_EX_free 154 #ifdef HAVE_EX_DATA 155 #define CRYPTO_EX_DATA WOLFSSL_CRYPTO_EX_DATA 156 #endif 157 158 #define CRYPTO_set_mem_functions wolfSSL_CRYPTO_set_mem_functions 159 160 /* depreciated */ 161 #define CRYPTO_thread_id wolfSSL_thread_id 162 #define CRYPTO_set_id_callback wolfSSL_set_id_callback 163 164 #define CRYPTO_LOCK 0x01 165 #define CRYPTO_UNLOCK 0x02 166 #define CRYPTO_READ 0x04 167 #define CRYPTO_WRITE 0x08 168 169 #define CRYPTO_set_locking_callback wolfSSL_set_locking_callback 170 #define CRYPTO_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback 171 #define CRYPTO_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback 172 #define CRYPTO_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback 173 #define CRYPTO_num_locks wolfSSL_num_locks 174 #define CRYPTO_dynlock_value WOLFSSL_dynlock_value 175 176 #define CRYPTO_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data 177 #define set_ex_data wolfSSL_CRYPTO_set_ex_data 178 #define get_ex_data wolfSSL_CRYPTO_get_ex_data 179 #define CRYPTO_memcmp wolfSSL_CRYPTO_memcmp 180 #define CRYPTO_get_ex_new_index wolfSSL_CRYPTO_get_ex_new_index 181 182 #define CRYPTO_get_ex_new_index wolfSSL_CRYPTO_get_ex_new_index 183 184 /* this function was used to set the default malloc, free, and realloc */ 185 #define CRYPTO_malloc_init() 0 /* CRYPTO_malloc_init is not needed */ 186 #define OPENSSL_malloc_init() 0 /* OPENSSL_malloc_init is not needed */ 187 188 #define SSL_get_client_random(ssl,out,outSz) \ 189 wolfSSL_get_client_random((ssl),(out),(outSz)) 190 #define SSL_get_cipher_list(ctx,i) wolfSSL_get_cipher_list_ex((ctx),(i)) 191 #define SSL_get_cipher_name(ctx) wolfSSL_get_cipher((ctx)) 192 #define SSL_get_shared_ciphers(ctx,buf,len) \ 193 wolfSSL_get_shared_ciphers((ctx),(buf),(len)) 194 195 /* at the moment only returns ok */ 196 #define SSL_get_verify_result wolfSSL_get_verify_result 197 #define SSL_get_verify_mode wolfSSL_get_verify_mode 198 #define SSL_get_verify_depth wolfSSL_get_verify_depth 199 #define SSL_CTX_get_verify_mode wolfSSL_CTX_get_verify_mode 200 #define SSL_CTX_get_verify_depth wolfSSL_CTX_get_verify_depth 201 #define SSL_get_certificate wolfSSL_get_certificate 202 #define SSL_CTX_get0_certificate wolfSSL_CTX_get0_certificate 203 #define SSL_use_certificate wolfSSL_use_certificate 204 #define SSL_use_certificate_ASN1 wolfSSL_use_certificate_ASN1 205 #define d2i_PKCS8_PRIV_KEY_INFO_bio wolfSSL_d2i_PKCS8_PKEY_bio 206 #define d2i_PKCS8_PRIV_KEY_INFO wolfSSL_d2i_PKCS8_PKEY 207 #define i2d_PKCS8_PRIV_KEY_INFO wolfSSL_i2d_PrivateKey 208 #define d2i_PKCS8PrivateKey_bio wolfSSL_d2i_PKCS8PrivateKey_bio 209 #define i2d_PKCS8PrivateKey_bio wolfSSL_PEM_write_bio_PKCS8PrivateKey 210 #define PKCS8_PRIV_KEY_INFO_free wolfSSL_EVP_PKEY_free 211 #define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp 212 #define SSL_CTX_set_ecdh_auto wolfSSL_CTX_set_ecdh_auto 213 214 #define i2d_PUBKEY wolfSSL_i2d_PUBKEY 215 #define d2i_PUBKEY wolfSSL_d2i_PUBKEY 216 #define d2i_PUBKEY_bio wolfSSL_d2i_PUBKEY_bio 217 #define d2i_PublicKey wolfSSL_d2i_PublicKey 218 #define d2i_PrivateKey wolfSSL_d2i_PrivateKey 219 #define d2i_AutoPrivateKey wolfSSL_d2i_AutoPrivateKey 220 #define SSL_use_PrivateKey wolfSSL_use_PrivateKey 221 #define SSL_use_PrivateKey_ASN1 wolfSSL_use_PrivateKey_ASN1 222 #define SSL_use_RSAPrivateKey_ASN1 wolfSSL_use_RSAPrivateKey_ASN1 223 #define SSL_get_privatekey wolfSSL_get_privatekey 224 #define SSL_CTX_use_PrivateKey_ASN1 wolfSSL_CTX_use_PrivateKey_ASN1 225 226 #define SSLv23_method wolfSSLv23_method 227 #define SSLv23_client_method wolfSSLv23_client_method 228 #define SSLv2_client_method wolfSSLv2_client_method 229 #define SSLv2_server_method wolfSSLv2_server_method 230 #define SSLv3_server_method wolfSSLv3_server_method 231 #define SSLv3_client_method wolfSSLv3_client_method 232 #define TLS_client_method wolfTLS_client_method 233 #define TLS_server_method wolfTLS_server_method 234 #define TLSv1_method wolfTLSv1_method 235 #define TLSv1_server_method wolfTLSv1_server_method 236 #define TLSv1_client_method wolfTLSv1_client_method 237 #define TLSv1_1_method wolfTLSv1_1_method 238 #define TLSv1_1_server_method wolfTLSv1_1_server_method 239 #define TLSv1_1_client_method wolfTLSv1_1_client_method 240 #define TLSv1_2_method wolfTLSv1_2_method 241 #define TLSv1_2_server_method wolfTLSv1_2_server_method 242 #define TLSv1_2_client_method wolfTLSv1_2_client_method 243 #define TLSv1_3_method wolfTLSv1_3_method 244 #define TLSv1_3_server_method wolfTLSv1_3_server_method 245 #define TLSv1_3_client_method wolfTLSv1_3_client_method 246 #define TLS_method wolfSSLv23_method 247 248 #define X509_FILETYPE_ASN1 WOLFSSL_FILETYPE_ASN1 249 #define X509_FILETYPE_DEFAULT WOLFSSL_FILETYPE_DEFAULT 250 251 #define X509_F_X509_CHECK_PRIVATE_KEY 128 252 253 #ifdef WOLFSSL_DTLS 254 #define DTLSv1_client_method wolfDTLSv1_client_method 255 #define DTLSv1_server_method wolfDTLSv1_server_method 256 #define DTLSv1_2_client_method wolfDTLSv1_2_client_method 257 #define DTLSv1_2_server_method wolfDTLSv1_2_server_method 258 #define DTLS_method wolfDTLS_method 259 #endif 260 261 262 #ifndef NO_FILESYSTEM 263 #define SSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file 264 #define SSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file 265 #ifdef WOLFSSL_APACHE_HTTPD 266 #define SSL_CTX_load_verify_locations(ctx,file,path) \ 267 wolfSSL_CTX_load_verify_locations_ex(ctx,file,path,\ 268 WOLFSSL_LOAD_FLAG_IGNORE_ERR) 269 #else 270 #define SSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations 271 #endif 272 #define SSL_CTX_use_certificate_chain_file wolfSSL_CTX_use_certificate_chain_file 273 #define SSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file 274 275 #define SSL_use_certificate_file wolfSSL_use_certificate_file 276 #define SSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file 277 #define SSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file 278 #define SSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file 279 #endif 280 281 #define SSL_CTX_new(method) wolfSSL_CTX_new((WOLFSSL_METHOD*)(method)) 282 #ifdef OPENSSL_EXTRA 283 #define SSL_CTX_up_ref wolfSSL_CTX_up_ref 284 #endif 285 #define SSL_new wolfSSL_new 286 #define SSL_set_fd wolfSSL_set_fd 287 #define SSL_get_fd wolfSSL_get_fd 288 #define SSL_connect wolfSSL_connect 289 #define SSL_clear wolfSSL_clear 290 #define SSL_state wolfSSL_state 291 #define SSL_read_early_data(ssl, d, dLen, len) wolfSSL_read_early_data(ssl, d, (int)dLen, (int *)len) 292 #define SSL_write_early_data(ssl, d, dLen, len) wolfSSL_write_early_data(ssl, d, (int)dLen, (int *)len) 293 294 #define SSL_write wolfSSL_write 295 #define SSL_read wolfSSL_read 296 #define SSL_peek wolfSSL_peek 297 #define SSL_accept wolfSSL_accept 298 #define SSL_CTX_free wolfSSL_CTX_free 299 #define SSL_free wolfSSL_free 300 #define SSL_shutdown wolfSSL_shutdown 301 #define SSL_set_timeout wolfSSL_SSL_SESSION_set_timeout 302 303 #define SSL_CTX_set_quiet_shutdown wolfSSL_CTX_set_quiet_shutdown 304 #define SSL_set_quiet_shutdown wolfSSL_set_quiet_shutdown 305 #define SSL_get_error wolfSSL_get_error 306 #define SSL_set_session wolfSSL_set_session 307 #define SSL_get_session(x) wolfSSL_get_session((WOLFSSL*) (x)) 308 #define SSL_SESSION_get0_peer wolfSSL_SESSION_get0_peer 309 #define SSL_flush_sessions wolfSSL_flush_sessions 310 /* assume unlimited temporarily */ 311 #define SSL_CTX_get_session_cache_mode(ctx) 0 312 313 #define SSL_CTX_set_verify wolfSSL_CTX_set_verify 314 #define SSL_CTX_set_cert_verify_callback wolfSSL_CTX_set_cert_verify_callback 315 #define SSL_CTX_set_cert_cb wolfSSL_CTX_set_cert_cb 316 #define SSL_set_verify wolfSSL_set_verify 317 #define SSL_set_verify_result wolfSSL_set_verify_result 318 #define SSL_verify_client_post_handshake wolfSSL_verify_client_post_handshake 319 #define SSL_set_post_handshake_auth wolfSSL_set_post_handshake_auth 320 #define SSL_CTX_set_post_handshake_auth wolfSSL_CTX_set_post_handshake_auth 321 #define SSL_pending wolfSSL_pending 322 #define SSL_load_error_strings wolfSSL_load_error_strings 323 #define SSL_library_init wolfSSL_library_init 324 #define OPENSSL_cleanup (void)wolfSSL_Cleanup 325 #define OPENSSL_init_ssl wolfSSL_OPENSSL_init_ssl 326 #define OpenSSL_add_ssl_algorithms wolfSSL_library_init 327 #define SSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode 328 #define SSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list 329 #define SSL_CTX_set_ciphersuites wolfSSL_CTX_set_cipher_list 330 #define SSL_set_cipher_list wolfSSL_set_cipher_list 331 /* wolfSSL does not support security levels */ 332 #define SSL_CTX_set_security_level wolfSSL_CTX_set_security_level 333 #define SSL_CTX_get_security_level wolfSSL_CTX_get_security_level 334 /* wolfSSL does not support exporting keying material */ 335 #define SSL_export_keying_material wolfSSL_export_keying_material 336 337 #define SSL_CTX_set1_sigalgs_list wolfSSL_CTX_set1_sigalgs_list 338 #define SSL_set1_sigalgs_list wolfSSL_set1_sigalgs_list 339 #define SSL_get_signature_nid wolfSSL_get_signature_nid 340 341 #define SSL_CTX_set1_groups wolfSSL_CTX_set1_groups 342 #define SSL_set1_groups wolfSSL_set1_groups 343 344 #define SSL_CTX_set1_groups_list wolfSSL_CTX_set1_groups_list 345 #define SSL_set1_groups_list wolfSSL_set1_groups_list 346 347 #define SSL_set_ex_data wolfSSL_set_ex_data 348 #define SSL_get_shutdown wolfSSL_get_shutdown 349 #define SSL_get_finished wolfSSL_get_finished 350 #define SSL_get_peer_finished wolfSSL_get_peer_finished 351 #define SSL_set_rfd wolfSSL_set_rfd 352 #define SSL_set_wfd wolfSSL_set_wfd 353 #define SSL_set_shutdown wolfSSL_set_shutdown 354 #define SSL_set_session_id_context wolfSSL_set_session_id_context 355 #define SSL_set_connect_state wolfSSL_set_connect_state 356 #define SSL_set_accept_state wolfSSL_set_accept_state 357 #define SSL_SESSION_new wolfSSL_SESSION_new 358 #define SSL_session_reused wolfSSL_session_reused 359 #define SSL_SESSION_up_ref wolfSSL_SESSION_up_ref 360 #define SSL_SESSION_dup wolfSSL_SESSION_dup 361 #define SSL_SESSION_free wolfSSL_SESSION_free 362 #define SSL_SESSION_set_cipher wolfSSL_SESSION_set_cipher 363 #define SSL_is_init_finished wolfSSL_is_init_finished 364 365 #define SSL_get_version wolfSSL_get_version 366 #define SSL_get_current_cipher wolfSSL_get_current_cipher 367 368 /* use wolfSSL_get_cipher_name for its return format */ 369 #define SSL_get_cipher wolfSSL_get_cipher_name 370 #define SSL_CIPHER_description wolfSSL_CIPHER_description 371 #define SSL_CIPHER_get_name wolfSSL_CIPHER_get_name 372 #define SSL_CIPHER_get_version wolfSSL_CIPHER_get_version 373 #define SSL_CIPHER_get_id wolfSSL_CIPHER_get_id 374 #define SSL_CIPHER_get_rfc_name wolfSSL_CIPHER_get_name 375 #define SSL_CIPHER_standard_name wolfSSL_CIPHER_get_name 376 #define SSL_CIPHER_get_auth_nid wolfSSL_CIPHER_get_auth_nid 377 #define SSL_CIPHER_get_cipher_nid wolfSSL_CIPHER_get_cipher_nid 378 #define SSL_CIPHER_get_digest_nid wolfSSL_CIPHER_get_digest_nid 379 #define SSL_CIPHER_get_kx_nid wolfSSL_CIPHER_get_kx_nid 380 #define SSL_CIPHER_is_aead wolfSSL_CIPHER_is_aead 381 #define SSL_get_cipher_by_value wolfSSL_get_cipher_by_value 382 383 #define SSL_get1_session wolfSSL_get1_session 384 385 #define SSL_get_keyblock_size wolfSSL_get_keyblock_size 386 #define SSL_get_keys wolfSSL_get_keys 387 #define SSL_SESSION_get_master_key wolfSSL_SESSION_get_master_key 388 #define SSL_SESSION_get_master_key_length wolfSSL_SESSION_get_master_key_length 389 390 #if defined(WOLFSSL_QT) || defined(OPENSSL_ALL) 391 #define SSL_MODE_RELEASE_BUFFERS 0x00000010U 392 #define ASN1_BOOLEAN WOLFSSL_ASN1_BOOLEAN 393 #define X509_get_ext wolfSSL_X509_get_ext 394 #define X509_get_ext_by_OBJ wolfSSL_X509_get_ext_by_OBJ 395 #define X509_cmp wolfSSL_X509_cmp 396 #define X509_EXTENSION_get_object wolfSSL_X509_EXTENSION_get_object 397 #define X509_EXTENSION_get_critical wolfSSL_X509_EXTENSION_get_critical 398 #define X509_EXTENSION_get_data wolfSSL_X509_EXTENSION_get_data 399 #define X509_EXTENSION_new wolfSSL_X509_EXTENSION_new 400 #define X509_EXTENSION_free wolfSSL_X509_EXTENSION_free 401 #endif 402 403 #define DSA_dup_DH wolfSSL_DSA_dup_DH 404 /* wolfSSL does not support DSA as the cert public key */ 405 #define EVP_PKEY_get0_DSA wolfSSL_EVP_PKEY_get0_DSA 406 #define EVP_PKEY_param_check wolfSSL_EVP_PKEY_param_check 407 #define EVP_PKEY_CTX_free wolfSSL_EVP_PKEY_CTX_free 408 #define DSA_bits wolfSSL_DSA_bits 409 410 #define i2d_X509_bio wolfSSL_i2d_X509_bio 411 #define i2d_X509_REQ_bio wolfSSL_i2d_X509_REQ_bio 412 #define d2i_X509_bio wolfSSL_d2i_X509_bio 413 #define d2i_X509_REQ_bio wolfSSL_d2i_X509_REQ_bio 414 #define d2i_X509_fp wolfSSL_d2i_X509_fp 415 #define i2d_X509 wolfSSL_i2d_X509 416 #define d2i_X509 wolfSSL_d2i_X509 417 #define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 418 #define PEM_read_bio_X509_REQ wolfSSL_PEM_read_bio_X509_REQ 419 #define PEM_read_X509_REQ wolfSSL_PEM_read_X509_REQ 420 #define PEM_read_bio_X509_CRL wolfSSL_PEM_read_bio_X509_CRL 421 #define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX 422 #define PEM_read_X509 wolfSSL_PEM_read_X509 423 #define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509 424 #define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX 425 #define PEM_X509_INFO_read_bio wolfSSL_PEM_X509_INFO_read_bio 426 #define PEM_X509_INFO_read wolfSSL_PEM_X509_INFO_read 427 #define i2d_PrivateKey wolfSSL_i2d_PrivateKey 428 #define i2d_PublicKey wolfSSL_i2d_PublicKey 429 430 #define i2d_X509_REQ wolfSSL_i2d_X509_REQ 431 #define d2i_X509_REQ wolfSSL_d2i_X509_REQ 432 #define X509_REQ_new wolfSSL_X509_REQ_new 433 #define X509_REQ_free wolfSSL_X509_REQ_free 434 #define X509_REQ_sign wolfSSL_X509_REQ_sign 435 #define X509_REQ_sign_ctx wolfSSL_X509_REQ_sign_ctx 436 #define X509_REQ_add_extensions wolfSSL_X509_REQ_add_extensions 437 #define X509_REQ_add1_attr_by_NID wolfSSL_X509_REQ_add1_attr_by_NID 438 #define X509_REQ_add1_attr_by_txt wolfSSL_X509_REQ_add1_attr_by_txt 439 #define X509_REQ_get_attr_by_NID wolfSSL_X509_REQ_get_attr_by_NID 440 #define X509_REQ_get_attr wolfSSL_X509_REQ_get_attr 441 #define X509_ATTRIBUTE_get0_type wolfSSL_X509_ATTRIBUTE_get0_type 442 #define X509_to_X509_REQ wolfSSL_X509_to_X509_REQ 443 #define X509_REQ_set_subject_name wolfSSL_X509_REQ_set_subject_name 444 #define X509_REQ_set_pubkey wolfSSL_X509_REQ_set_pubkey 445 #define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ 446 447 #define X509_new wolfSSL_X509_new 448 #define X509_up_ref wolfSSL_X509_up_ref 449 #define X509_free wolfSSL_X509_free 450 #define X509_load_certificate_file wolfSSL_X509_load_certificate_file 451 #define X509_digest wolfSSL_X509_digest 452 #define X509_pubkey_digest wolfSSL_X509_pubkey_digest 453 #define X509_get_extension_flags wolfSSL_X509_get_extension_flags 454 #define X509_get_key_usage wolfSSL_X509_get_key_usage 455 #define X509_get_extended_key_usage wolfSSL_X509_get_extended_key_usage 456 #define X509_get_ext_count wolfSSL_X509_get_ext_count 457 #define X509_get_ext_d2i wolfSSL_X509_get_ext_d2i 458 #define X509V3_EXT_i2d wolfSSL_X509V3_EXT_i2d 459 #define X509_get0_extensions wolfSSL_X509_get0_extensions 460 #define X509_get_extensions wolfSSL_X509_get0_extensions 461 #define X509_REQ_get_extensions wolfSSL_X509_REQ_get_extensions 462 #define X509_get_ext wolfSSL_X509_get_ext 463 #define X509_get_ext_by_NID wolfSSL_X509_get_ext_by_NID 464 #define X509_get_issuer_name wolfSSL_X509_get_issuer_name 465 #define X509_issuer_name_hash wolfSSL_X509_issuer_name_hash 466 #define X509_subject_name_hash wolfSSL_X509_subject_name_hash 467 #define X509_get_subject_name wolfSSL_X509_get_subject_name 468 #define X509_REQ_get_subject_name wolfSSL_X509_get_subject_name 469 #define X509_get_pubkey wolfSSL_X509_get_pubkey 470 #define X509_get0_pubkey wolfSSL_X509_get_pubkey 471 #define X509_REQ_get_pubkey wolfSSL_X509_get_pubkey 472 #define X509_get_notBefore wolfSSL_X509_get_notBefore 473 #define X509_get0_notBefore wolfSSL_X509_get_notBefore 474 #define X509_getm_notBefore wolfSSL_X509_get_notBefore 475 #define X509_get_notAfter wolfSSL_X509_get_notAfter 476 #define X509_get0_notAfter wolfSSL_X509_get_notAfter 477 #define X509_getm_notAfter wolfSSL_X509_get_notAfter 478 #define X509_get_serialNumber wolfSSL_X509_get_serialNumber 479 #define X509_get0_pubkey_bitstr wolfSSL_X509_get0_pubkey_bitstr 480 #define X509_get_ex_new_index wolfSSL_X509_get_ex_new_index 481 #define X509_get_ex_data wolfSSL_X509_get_ex_data 482 #define X509_set_ex_data wolfSSL_X509_set_ex_data 483 #define X509_get1_ocsp wolfSSL_X509_get1_ocsp 484 #define X509_get_version wolfSSL_X509_get_version 485 #define X509_get_signature_nid wolfSSL_X509_get_signature_nid 486 #define X509_set_subject_name wolfSSL_X509_set_subject_name 487 #define X509_set_issuer_name wolfSSL_X509_set_issuer_name 488 #define X509_set_pubkey wolfSSL_X509_set_pubkey 489 #define X509_set_notAfter wolfSSL_X509_set_notAfter 490 #define X509_set_notBefore wolfSSL_X509_set_notBefore 491 #define X509_set_serialNumber wolfSSL_X509_set_serialNumber 492 #define X509_set_version wolfSSL_X509_set_version 493 #define X509_REQ_set_version wolfSSL_X509_set_version 494 #define X509_sign wolfSSL_X509_sign 495 #define X509_sign_ctx wolfSSL_X509_sign_ctx 496 #define X509_print wolfSSL_X509_print 497 #define X509_REQ_print wolfSSL_X509_print 498 #define X509_print_ex wolfSSL_X509_print_ex 499 #define X509_print_fp wolfSSL_X509_print_fp 500 #define X509_REQ_print_fp wolfSSL_X509_print_fp 501 #define X509_signature_print wolfSSL_X509_signature_print 502 #define X509_get0_signature wolfSSL_X509_get0_signature 503 #define X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string 504 #define X509_verify_cert wolfSSL_X509_verify_cert 505 #define X509_verify wolfSSL_X509_verify 506 #define X509_REQ_verify wolfSSL_X509_REQ_verify 507 #define X509_check_private_key wolfSSL_X509_check_private_key 508 #define X509_REQ_check_private_key wolfSSL_X509_check_private_key 509 #define X509_check_ca wolfSSL_X509_check_ca 510 #define X509_check_host wolfSSL_X509_check_host 511 #define X509_check_email wolfSSL_X509_check_email 512 #define X509_check_ip_asc wolfSSL_X509_check_ip_asc 513 #define X509_email_free wolfSSL_X509_email_free 514 #define X509_check_issued wolfSSL_X509_check_issued 515 #define X509_dup wolfSSL_X509_dup 516 #define X509_add_ext wolfSSL_X509_add_ext 517 #define X509_delete_ext wolfSSL_X509_delete_ext 518 519 #define X509_EXTENSION_get_object wolfSSL_X509_EXTENSION_get_object 520 #define X509_EXTENSION_get_data wolfSSL_X509_EXTENSION_get_data 521 #define X509_EXTENSION_dup wolfSSL_X509_EXTENSION_dup 522 523 #define sk_X509_new wolfSSL_sk_X509_new 524 #define sk_X509_new_null wolfSSL_sk_X509_new 525 #define sk_X509_num wolfSSL_sk_X509_num 526 #define sk_X509_value wolfSSL_sk_X509_value 527 #define sk_X509_shift wolfSSL_sk_X509_shift 528 #define sk_X509_push wolfSSL_sk_X509_push 529 #define sk_X509_pop wolfSSL_sk_X509_pop 530 #define sk_X509_pop_free wolfSSL_sk_X509_pop_free 531 #define sk_X509_dup wolfSSL_sk_dup 532 #define sk_X509_free wolfSSL_sk_X509_free 533 #define X509_chain_up_ref wolfSSL_X509_chain_up_ref 534 535 #define sk_X509_CRL_new wolfSSL_sk_X509_CRL_new 536 #define sk_X509_CRL_pop_free wolfSSL_sk_X509_CRL_pop_free 537 #define sk_X509_CRL_free wolfSSL_sk_X509_CRL_free 538 #define sk_X509_CRL_push wolfSSL_sk_X509_CRL_push 539 #define sk_X509_CRL_value wolfSSL_sk_X509_CRL_value 540 #define sk_X509_CRL_num wolfSSL_sk_X509_CRL_num 541 542 #define sk_X509_OBJECT_new wolfSSL_sk_X509_OBJECT_new 543 #define sk_X509_OBJECT_free wolfSSL_sk_X509_OBJECT_free 544 #define sk_X509_OBJECT_pop_free wolfSSL_sk_X509_OBJECT_pop_free 545 546 #define sk_X509_EXTENSION_num wolfSSL_sk_X509_EXTENSION_num 547 #define sk_X509_EXTENSION_value wolfSSL_sk_X509_EXTENSION_value 548 #define sk_X509_EXTENSION_new_null wolfSSL_sk_X509_EXTENSION_new_null 549 #define sk_X509_EXTENSION_pop_free wolfSSL_sk_X509_EXTENSION_pop_free 550 #define sk_X509_EXTENSION_push wolfSSL_sk_X509_EXTENSION_push 551 552 #define X509_INFO_new wolfSSL_X509_INFO_new 553 #define X509_INFO_free wolfSSL_X509_INFO_free 554 555 #define sk_X509_INFO_new_null wolfSSL_sk_X509_INFO_new_null 556 #define sk_X509_INFO_num wolfSSL_sk_X509_INFO_num 557 #define sk_X509_INFO_value wolfSSL_sk_X509_INFO_value 558 #define sk_X509_INFO_push wolfSSL_sk_X509_INFO_push 559 #define sk_X509_INFO_pop wolfSSL_sk_X509_INFO_pop 560 #define sk_X509_INFO_pop_free wolfSSL_sk_X509_INFO_pop_free 561 #define sk_X509_INFO_free wolfSSL_sk_X509_INFO_free 562 #define sk_X509_INFO_shift wolfSSL_sk_X509_INFO_pop 563 564 #define i2d_X509_NAME wolfSSL_i2d_X509_NAME 565 #define d2i_X509_NAME wolfSSL_d2i_X509_NAME 566 #define X509_NAME_new wolfSSL_X509_NAME_new 567 #define X509_NAME_free wolfSSL_X509_NAME_free 568 #define X509_NAME_dup wolfSSL_X509_NAME_dup 569 #define X509_NAME_get_sz wolfSSL_X509_NAME_get_sz 570 #define X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID 571 #define X509_NAME_get_index_by_OBJ wolfSSL_X509_NAME_get_index_by_OBJ 572 #define X509_NAME_cmp wolfSSL_X509_NAME_cmp 573 #define X509_NAME_ENTRY_new wolfSSL_X509_NAME_ENTRY_new 574 #define X509_NAME_ENTRY_free wolfSSL_X509_NAME_ENTRY_free 575 #define X509_NAME_ENTRY_create_by_NID wolfSSL_X509_NAME_ENTRY_create_by_NID 576 #define X509_NAME_ENTRY_create_by_txt wolfSSL_X509_NAME_ENTRY_create_by_txt 577 #define X509_NAME_add_entry wolfSSL_X509_NAME_add_entry 578 #define X509_NAME_add_entry_by_txt wolfSSL_X509_NAME_add_entry_by_txt 579 #define X509_NAME_add_entry_by_NID wolfSSL_X509_NAME_add_entry_by_NID 580 #define X509_NAME_delete_entry wolfSSL_X509_NAME_delete_entry 581 #define X509_NAME_hash wolfSSL_X509_NAME_hash 582 #define X509_NAME_oneline wolfSSL_X509_NAME_oneline 583 #define X509_NAME_get_index_by_NID wolfSSL_X509_NAME_get_index_by_NID 584 #define X509_NAME_print_ex wolfSSL_X509_NAME_print_ex 585 #define X509_NAME_print_ex_fp wolfSSL_X509_NAME_print_ex_fp 586 #define X509_NAME_digest wolfSSL_X509_NAME_digest 587 #define X509_cmp_current_time wolfSSL_X509_cmp_current_time 588 #define X509_cmp_time wolfSSL_X509_cmp_time 589 #define X509_time_adj wolfSSL_X509_time_adj 590 #define X509_time_adj_ex wolfSSL_X509_time_adj_ex 591 #define X509_gmtime_adj wolfSSL_X509_gmtime_adj 592 593 #define sk_ACCESS_DESCRIPTION_num wolfSSL_sk_ACCESS_DESCRIPTION_num 594 #define sk_ACCESS_DESCRIPTION_value wolfSSL_sk_ACCESS_DESCRIPTION_value 595 596 #define sk_X509_NAME_new wolfSSL_sk_X509_NAME_new 597 #define sk_X509_NAME_new_null() wolfSSL_sk_X509_NAME_new(NULL) 598 #define sk_X509_NAME_push wolfSSL_sk_X509_NAME_push 599 #define sk_X509_NAME_find wolfSSL_sk_X509_NAME_find 600 #define sk_X509_NAME_set_cmp_func wolfSSL_sk_X509_NAME_set_cmp_func 601 #define sk_X509_NAME_num wolfSSL_sk_X509_NAME_num 602 #define sk_X509_NAME_value wolfSSL_sk_X509_NAME_value 603 #define sk_X509_NAME_pop wolfSSL_sk_X509_NAME_pop 604 #define sk_X509_NAME_pop_free wolfSSL_sk_X509_NAME_pop_free 605 #define sk_X509_NAME_free wolfSSL_sk_X509_NAME_free 606 607 typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY; 608 609 #define X509_NAME_entry_count wolfSSL_X509_NAME_entry_count 610 #define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object 611 #define X509_NAME_get_entry wolfSSL_X509_NAME_get_entry 612 #define X509_NAME_ENTRY_get_data wolfSSL_X509_NAME_ENTRY_get_data 613 #define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object 614 615 #define X509_V_FLAG_CRL_CHECK WOLFSSL_CRL_CHECK 616 #define X509_V_FLAG_CRL_CHECK_ALL WOLFSSL_CRL_CHECKALL 617 618 #define X509_V_FLAG_USE_CHECK_TIME WOLFSSL_USE_CHECK_TIME 619 #define X509_V_FLAG_NO_CHECK_TIME WOLFSSL_NO_CHECK_TIME 620 #define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT WOLFSSL_ALWAYS_CHECK_SUBJECT 621 #define X509_CHECK_FLAG_NO_WILDCARDS WOLFSSL_NO_WILDCARDS 622 #define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS WOLFSSL_NO_PARTIAL_WILDCARDS 623 624 #define X509_VP_FLAG_DEFAULT WOLFSSL_VPARAM_DEFAULT 625 #define X509_VP_FLAG_OVERWRITE WOLFSSL_VPARAM_OVERWRITE 626 #define X509_VP_FLAG_RESET_FLAGS WOLFSSL_VPARAM_RESET_FLAGS 627 #define X509_VP_FLAG_LOCKED WOLFSSL_VPARAM_LOCKED 628 #define X509_VP_FLAG_ONCE WOLFSSL_VPARAM_ONCE 629 630 #define X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert 631 #define X509_STORE_CTX_set_verify_cb wolfSSL_X509_STORE_CTX_set_verify_cb 632 #define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new 633 #define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free 634 #define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain 635 #define X509_STORE_CTX_get0_chain wolfSSL_X509_STORE_CTX_get_chain 636 #define X509_STORE_CTX_get1_chain wolfSSL_X509_STORE_CTX_get1_chain 637 #define X509_STORE_CTX_get0_parent_ctx wolfSSL_X509_STORE_CTX_get0_parent_ctx 638 #define X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error 639 #define X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth 640 #define X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init 641 #define X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup 642 #define X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error 643 #define X509_STORE_CTX_set_error_depth wolfSSL_X509_STORE_CTX_set_error_depth 644 #define X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data 645 #define X509_STORE_CTX_set_ex_data wolfSSL_X509_STORE_CTX_set_ex_data 646 #define X509_STORE_CTX_set_depth wolfSSL_X509_STORE_CTX_set_depth 647 #define X509_STORE_CTX_verify_cb WOLFSSL_X509_STORE_CTX_verify_cb 648 #define X509_STORE_CTX_get0_current_issuer \ 649 wolfSSL_X509_STORE_CTX_get0_current_issuer 650 #define X509_STORE_CTX_get0_store wolfSSL_X509_STORE_CTX_get0_store 651 #define X509_STORE_CTX_get0_cert wolfSSL_X509_STORE_CTX_get0_cert 652 #define X509_STORE_CTX_trusted_stack wolfSSL_X509_STORE_CTX_trusted_stack 653 654 #define X509_STORE_set_verify_cb(s, c) \ 655 wolfSSL_X509_STORE_set_verify_cb((WOLFSSL_X509_STORE *)(s), (WOLFSSL_X509_STORE_CTX_verify_cb)(c)) 656 #define X509_STORE_set_verify_cb_func(s, c) \ 657 wolfSSL_X509_STORE_set_verify_cb((WOLFSSL_X509_STORE *)(s), (WOLFSSL_X509_STORE_CTX_verify_cb)(c)) 658 659 660 #define X509_STORE_new wolfSSL_X509_STORE_new 661 #define X509_STORE_free wolfSSL_X509_STORE_free 662 #define X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup 663 #define X509_STORE_add_cert wolfSSL_X509_STORE_add_cert 664 #define X509_STORE_add_crl wolfSSL_X509_STORE_add_crl 665 #define X509_STORE_set_flags wolfSSL_X509_STORE_set_flags 666 #define X509_STORE_get1_certs wolfSSL_X509_STORE_get1_certs 667 #define X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject 668 #define X509_STORE_set_ex_data wolfSSL_X509_STORE_set_ex_data 669 #define X509_STORE_get_ex_data wolfSSL_X509_STORE_get_ex_data 670 #define X509_STORE_CTX_get1_issuer wolfSSL_X509_STORE_CTX_get1_issuer 671 #define X509_STORE_CTX_set_time wolfSSL_X509_STORE_CTX_set_time 672 #define X509_VERIFY_PARAM_new wolfSSL_X509_VERIFY_PARAM_new 673 #define X509_VERIFY_PARAM_free wolfSSL_X509_VERIFY_PARAM_free 674 #define X509_VERIFY_PARAM_set_flags wolfSSL_X509_VERIFY_PARAM_set_flags 675 #define X509_VERIFY_PARAM_get_flags wolfSSL_X509_VERIFY_PARAM_get_flags 676 #define X509_VERIFY_PARAM_clear_flags wolfSSL_X509_VERIFY_PARAM_clear_flags 677 #define X509_VERIFY_PARAM_set_hostflags wolfSSL_X509_VERIFY_PARAM_set_hostflags 678 #define X509_VERIFY_PARAM_set1_host wolfSSL_X509_VERIFY_PARAM_set1_host 679 #define X509_VERIFY_PARAM_set1_ip_asc wolfSSL_X509_VERIFY_PARAM_set1_ip_asc 680 #define X509_VERIFY_PARAM_set1_ip wolfSSL_X509_VERIFY_PARAM_set1_ip 681 #define X509_VERIFY_PARAM_set1 wolfSSL_X509_VERIFY_PARAM_set1 682 #define X509_STORE_load_locations wolfSSL_X509_STORE_load_locations 683 684 #define X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir 685 #define X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file 686 #define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir 687 #define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file 688 #define X509_LOOKUP_ctrl wolfSSL_X509_LOOKUP_ctrl 689 690 #define d2i_X509_CRL wolfSSL_d2i_X509_CRL 691 #define d2i_X509_CRL_fp wolfSSL_d2i_X509_CRL_fp 692 #define PEM_read_X509_CRL wolfSSL_PEM_read_X509_CRL 693 694 #define X509_CRL_free wolfSSL_X509_CRL_free 695 #define X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate 696 #define X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate 697 #define X509_CRL_verify wolfSSL_X509_CRL_verify 698 #define X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED 699 #define X509_load_crl_file wolfSSL_X509_load_crl_file 700 701 #define X509_get_X509_PUBKEY wolfSSL_X509_get_X509_PUBKEY 702 #define X509_REQ_get_X509_PUBKEY wolfSSL_X509_get_X509_PUBKEY 703 #define X509_get0_tbs_sigalg wolfSSL_X509_get0_tbs_sigalg 704 #define X509_PUBKEY_get0_param wolfSSL_X509_PUBKEY_get0_param 705 #define X509_PUBKEY_get wolfSSL_X509_PUBKEY_get 706 #define X509_PUBKEY_set wolfSSL_X509_PUBKEY_set 707 #define X509_ALGOR_get0 wolfSSL_X509_ALGOR_get0 708 #define X509_ALGOR_set0 wolfSSL_X509_ALGOR_set0 709 710 #define X509_ALGOR_new wolfSSL_X509_ALGOR_new 711 #define X509_ALGOR_free wolfSSL_X509_ALGOR_free 712 #define X509_PUBKEY_new wolfSSL_X509_PUBKEY_new 713 #define X509_PUBKEY_free wolfSSL_X509_PUBKEY_free 714 715 #define sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num 716 #define sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value 717 718 #define X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents 719 720 #define X509_OBJECT_get0_X509 wolfSSL_X509_OBJECT_get0_X509 721 #define X509_OBJECT_get0_X509_CRL wolfSSL_X509_OBJECT_get0_X509_CRL 722 723 #define X509_check_purpose(...) 0 724 725 #define OCSP_parse_url wolfSSL_OCSP_parse_url 726 727 #define MD4_Init wolfSSL_MD4_Init 728 #define MD4_Update wolfSSL_MD4_Update 729 #define MD4_Final wolfSSL_MD4_Final 730 731 #define BIO_new wolfSSL_BIO_new 732 #define BIO_free wolfSSL_BIO_free 733 #define BIO_vfree wolfSSL_BIO_vfree 734 #define BIO_free_all wolfSSL_BIO_free_all 735 #define BIO_nread0 wolfSSL_BIO_nread0 736 #define BIO_nread wolfSSL_BIO_nread 737 #define BIO_read wolfSSL_BIO_read 738 #define BIO_nwrite0 wolfSSL_BIO_nwrite0 739 #define BIO_nwrite wolfSSL_BIO_nwrite 740 #define BIO_write wolfSSL_BIO_write 741 #define BIO_push wolfSSL_BIO_push 742 #define BIO_pop wolfSSL_BIO_pop 743 #define BIO_flush wolfSSL_BIO_flush 744 #define BIO_pending wolfSSL_BIO_pending 745 746 #define BIO_get_mem_data wolfSSL_BIO_get_mem_data 747 #define BIO_new_mem_buf wolfSSL_BIO_new_mem_buf 748 749 #define BIO_f_buffer wolfSSL_BIO_f_buffer 750 #define BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size 751 #define BIO_f_ssl wolfSSL_BIO_f_ssl 752 #define BIO_new_socket wolfSSL_BIO_new_socket 753 #define BIO_new_connect wolfSSL_BIO_new_connect 754 #define BIO_new_accept wolfSSL_BIO_new_accept 755 #define BIO_set_conn_port wolfSSL_BIO_set_conn_port 756 #define BIO_do_connect wolfSSL_BIO_do_connect 757 #define BIO_do_accept wolfSSL_BIO_do_accept 758 #define BIO_do_handshake wolfSSL_BIO_do_handshake 759 #define BIO_ssl_shutdown wolfSSL_BIO_ssl_shutdown 760 #define SSL_set_bio wolfSSL_set_bio 761 #define BIO_set_ssl wolfSSL_BIO_set_ssl 762 #define BIO_get_ssl wolfSSL_BIO_get_ssl 763 #define BIO_new_ssl_connect wolfSSL_BIO_new_ssl_connect 764 #define BIO_set_conn_hostname wolfSSL_BIO_set_conn_hostname 765 #define BIO_eof wolfSSL_BIO_eof 766 #define BIO_set_ss wolfSSL_BIO_set_ss 767 768 #define BIO_f_md wolfSSL_BIO_f_md 769 #define BIO_get_md_ctx wolfSSL_BIO_get_md_ctx 770 #define BIO_s_mem wolfSSL_BIO_s_mem 771 #define BIO_f_base64 wolfSSL_BIO_f_base64 772 #define BIO_set_flags wolfSSL_BIO_set_flags 773 #define BIO_set_nbio wolfSSL_BIO_set_nbio 774 775 #define SSLeay_add_ssl_algorithms wolfSSL_add_all_algorithms 776 #define SSLeay_add_all_algorithms wolfSSL_add_all_algorithms 777 778 #define RAND_screen wolfSSL_RAND_screen 779 #define RAND_file_name wolfSSL_RAND_file_name 780 #define RAND_write_file wolfSSL_RAND_write_file 781 #define RAND_load_file wolfSSL_RAND_load_file 782 #define RAND_egd wolfSSL_RAND_egd 783 #define RAND_seed wolfSSL_RAND_seed 784 #define RAND_cleanup wolfSSL_RAND_Cleanup 785 #define RAND_add wolfSSL_RAND_add 786 #define RAND_poll wolfSSL_RAND_poll 787 #define RAND_status wolfSSL_RAND_status 788 #define RAND_bytes wolfSSL_RAND_bytes 789 #define RAND_pseudo_bytes wolfSSL_RAND_pseudo_bytes 790 791 #define COMP_zlib wolfSSL_COMP_zlib 792 #define COMP_rle wolfSSL_COMP_rle 793 #define SSL_COMP_add_compression_method wolfSSL_COMP_add_compression_method 794 795 #define SSL_get_ex_new_index wolfSSL_get_ex_new_index 796 #define RSA_get_ex_new_index wolfSSL_get_ex_new_index 797 798 #define ASN1_BIT_STRING_new wolfSSL_ASN1_BIT_STRING_new 799 #define ASN1_BIT_STRING_free wolfSSL_ASN1_BIT_STRING_free 800 #define ASN1_BIT_STRING_get_bit wolfSSL_ASN1_BIT_STRING_get_bit 801 #define ASN1_BIT_STRING_set_bit wolfSSL_ASN1_BIT_STRING_set_bit 802 803 #define sk_ASN1_OBJECT_free wolfSSL_sk_ASN1_OBJECT_free 804 805 #define ASN1_TIME_new wolfSSL_ASN1_TIME_new 806 #define ASN1_UTCTIME_new wolfSSL_ASN1_TIME_new 807 #define ASN1_TIME_free wolfSSL_ASN1_TIME_free 808 #define ASN1_UTCTIME_free wolfSSL_ASN1_TIME_free 809 #define ASN1_TIME_adj wolfSSL_ASN1_TIME_adj 810 #define ASN1_TIME_print wolfSSL_ASN1_TIME_print 811 #define ASN1_TIME_to_generalizedtime wolfSSL_ASN1_TIME_to_generalizedtime 812 #define ASN1_TIME_set wolfSSL_ASN1_TIME_set 813 #define ASN1_TIME_set_string wolfSSL_ASN1_TIME_set_string 814 #define ASN1_TIME_to_string wolfSSL_ASN1_TIME_to_string 815 #define ASN1_TIME_to_tm wolfSSL_ASN1_TIME_to_tm 816 #define ASN1_GENERALIZEDTIME_print wolfSSL_ASN1_GENERALIZEDTIME_print 817 #define ASN1_GENERALIZEDTIME_free wolfSSL_ASN1_GENERALIZEDTIME_free 818 819 #define ASN1_tag2str wolfSSL_ASN1_tag2str 820 821 #define a2i_ASN1_INTEGER wolfSSL_a2i_ASN1_INTEGER 822 #define i2a_ASN1_INTEGER wolfSSL_i2a_ASN1_INTEGER 823 #define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER 824 #define ASN1_INTEGER_new wolfSSL_ASN1_INTEGER_new 825 #define ASN1_INTEGER_free wolfSSL_ASN1_INTEGER_free 826 #define ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp 827 #define ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get 828 #define ASN1_INTEGER_set wolfSSL_ASN1_INTEGER_set 829 #define ASN1_INTEGER_to_BN wolfSSL_ASN1_INTEGER_to_BN 830 831 #define i2a_ASN1_OBJECT wolfSSL_i2a_ASN1_OBJECT 832 #define i2d_ASN1_OBJECT wolfSSL_i2d_ASN1_OBJECT 833 834 #define ASN1_STRING_new wolfSSL_ASN1_STRING_new 835 #define ASN1_OCTET_STRING_new wolfSSL_ASN1_STRING_new 836 #define ASN1_STRING_free wolfSSL_ASN1_STRING_free 837 #define ASN1_STRING_cmp wolfSSL_ASN1_STRING_cmp 838 #define ASN1_OCTET_STRING_cmp wolfSSL_ASN1_STRING_cmp 839 #define ASN1_STRING_data wolfSSL_ASN1_STRING_data 840 #define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_get0_data 841 #define ASN1_STRING_length wolfSSL_ASN1_STRING_length 842 #define ASN1_STRING_to_UTF8 wolfSSL_ASN1_STRING_to_UTF8 843 #define ASN1_UNIVERSALSTRING_to_string wolfSSL_ASN1_UNIVERSALSTRING_to_string 844 #define ASN1_STRING_print_ex wolfSSL_ASN1_STRING_print_ex 845 #define ASN1_STRING_print(x, y) wolfSSL_ASN1_STRING_print ((WOLFSSL_BIO*)(x), (WOLFSSL_ASN1_STRING*)(y)) 846 #define d2i_DISPLAYTEXT wolfSSL_d2i_DISPLAYTEXT 847 #ifndef NO_WOLFSSL_STUB 848 #define ASN1_STRING_set_default_mask_asc(...) 1 849 #endif 850 851 #define ASN1_OCTET_STRING WOLFSSL_ASN1_STRING 852 #define ASN1_OCTET_STRING_new wolfSSL_ASN1_STRING_new 853 #define ASN1_OCTET_STRING_free wolfSSL_ASN1_STRING_free 854 #define ASN1_OCTET_STRING_set wolfSSL_ASN1_STRING_set 855 856 #define ASN1_PRINTABLE_type(...) V_ASN1_PRINTABLESTRING 857 858 #define ASN1_UTCTIME_pr wolfSSL_ASN1_UTCTIME_pr 859 860 #define ASN1_IA5STRING WOLFSSL_ASN1_STRING 861 862 #define ASN1_BOOLEAN WOLFSSL_ASN1_BOOLEAN 863 864 #define SSL_load_client_CA_file wolfSSL_load_client_CA_file 865 866 #define SSL_CTX_get_client_CA_list wolfSSL_CTX_get_client_CA_list 867 #define SSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list 868 #define SSL_CTX_set_client_cert_cb wolfSSL_CTX_set_client_cert_cb 869 #define SSL_CTX_set_cert_store wolfSSL_CTX_set_cert_store 870 #define SSL_set0_verify_cert_store wolfSSL_set0_verify_cert_store 871 #define SSL_set1_verify_cert_store wolfSSL_set1_verify_cert_store 872 #define SSL_CTX_get_cert_store(x) wolfSSL_CTX_get_cert_store ((WOLFSSL_CTX*) (x)) 873 #define SSL_get_client_CA_list wolfSSL_get_client_CA_list 874 #define SSL_set_client_CA_list wolfSSL_set_client_CA_list 875 #define SSL_get_ex_data_X509_STORE_CTX_idx wolfSSL_get_ex_data_X509_STORE_CTX_idx 876 #define SSL_get_ex_data wolfSSL_get_ex_data 877 878 #define SSL_CTX_set_default_passwd_cb_userdata wolfSSL_CTX_set_default_passwd_cb_userdata 879 #define SSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb 880 881 #define SSL_CTX_set_timeout(ctx, to) \ 882 wolfSSL_CTX_set_timeout(ctx, (unsigned int) to) 883 #define SSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback 884 #define SSL_CTX_set_alpn_protos wolfSSL_CTX_set_alpn_protos 885 886 #define SSL_CTX_keylog_cb_func wolfSSL_CTX_keylog_cb_func 887 #define SSL_CTX_set_keylog_callback wolfSSL_CTX_set_keylog_callback 888 #define SSL_CTX_get_keylog_callback wolfSSL_CTX_get_keylog_callback 889 890 #define SSL_alert_type_string wolfSSL_alert_type_string 891 #define SSL_alert_desc_string wolfSSL_alert_desc_string 892 #define SSL_state_string wolfSSL_state_string 893 894 #define RSA_free wolfSSL_RSA_free 895 #define RSA_generate_key wolfSSL_RSA_generate_key 896 #define SSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback 897 #define RSA_print wolfSSL_RSA_print 898 #define RSA_print_fp wolfSSL_RSA_print_fp 899 #define RSA_bits wolfSSL_RSA_bits 900 #define RSA_up_ref wolfSSL_RSA_up_ref 901 #define RSA_padding_add_PKCS1_PSS wolfSSL_RSA_padding_add_PKCS1_PSS 902 #define RSA_verify_PKCS1_PSS wolfSSL_RSA_verify_PKCS1_PSS 903 904 #define PEM_def_callback wolfSSL_PEM_def_callback 905 906 #define SSL_CTX_sess_accept wolfSSL_CTX_sess_accept 907 #define SSL_CTX_sess_connect wolfSSL_CTX_sess_connect 908 #define SSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good 909 #define SSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good 910 #define SSL_CTX_sess_accept_renegotiate wolfSSL_CTX_sess_accept_renegotiate 911 #define SSL_CTX_sess_connect_renegotiate wolfSSL_CTX_sess_connect_renegotiate 912 #define SSL_CTX_sess_hits wolfSSL_CTX_sess_hits 913 #define SSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits 914 #define SSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full 915 #define SSL_CTX_sess_misses wolfSSL_CTX_sess_misses 916 #define SSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts 917 #define SSL_CTX_sess_number wolfSSL_CTX_sess_number 918 #define SSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size 919 920 921 #define SSL_DEFAULT_CIPHER_LIST WOLFSSL_DEFAULT_CIPHER_LIST 922 923 #define SSL_CTX_set_psk_client_callback wolfSSL_CTX_set_psk_client_callback 924 #define SSL_set_psk_client_callback wolfSSL_set_psk_client_callback 925 926 #define SSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint 927 #define SSL_get_psk_identity wolfSSL_get_psk_identity 928 929 #define SSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint 930 #define SSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint 931 932 #define SSL_CTX_set_psk_server_callback wolfSSL_CTX_set_psk_server_callback 933 #define SSL_set_psk_server_callback wolfSSL_set_psk_server_callback 934 935 /* system file ints for ERR_put_error */ 936 #define SYS_F_ACCEPT WOLFSSL_SYS_ACCEPT 937 #define SYS_F_BIND WOLFSSL_SYS_BIND 938 #define SYS_F_CONNECT WOLFSSL_SYS_CONNECT 939 #define SYS_F_FOPEN WOLFSSL_SYS_FOPEN 940 #define SYS_F_FREAD WOLFSSL_SYS_FREAD 941 #define SYS_F_GETADDRINFO WOLFSSL_SYS_GETADDRINFO 942 #define SYS_F_GETSOCKOPT WOLFSSL_SYS_GETSOCKOPT 943 #define SYS_F_GETSOCKNAME WOLFSSL_SYS_GETSOCKNAME 944 #define SYS_F_OPENDIR WOLFSSL_SYS_OPENDIR 945 #define SYS_F_SETSOCKOPT WOLFSSL_SYS_SETSOCKOPT 946 #define SYS_F_SOCKET WOLFSSL_SYS_SOCKET 947 #define SYS_F_GETHOSTBYNAME WOLFSSL_SYS_GETHOSTBYNAME 948 #define SYS_F_GETNAMEINFO WOLFSSL_SYS_GETNAMEINFO 949 #define SYS_F_GETSERVBYNAME WOLFSSL_SYS_GETSERVBYNAME 950 #define SYS_F_IOCTLSOCKET WOLFSSL_SYS_IOCTLSOCKET 951 #define SYS_F_LISTEN WOLFSSL_SYS_LISTEN 952 953 #define ERR_GET_LIB wolfSSL_ERR_GET_LIB 954 #define ERR_GET_REASON wolfSSL_ERR_GET_REASON 955 956 #define ERR_put_error wolfSSL_ERR_put_error 957 #define ERR_peek_error wolfSSL_ERR_peek_error 958 #define ERR_peek_errors_fp wolfSSL_ERR_peek_errors_fp 959 #define ERR_peek_error_line_data wolfSSL_ERR_peek_error_line_data 960 #define ERR_peek_last_error wolfSSL_ERR_peek_last_error 961 #define ERR_peek_last_error_line wolfSSL_ERR_peek_last_error_line 962 #define ERR_get_error_line wolfSSL_ERR_get_error_line 963 #define ERR_get_error_line_data wolfSSL_ERR_get_error_line_data 964 #define ERR_get_error wolfSSL_ERR_get_error 965 #define ERR_print_errors_fp(file) wolfSSL_ERR_dump_errors_fp((file)) 966 #define ERR_print_errors_cb wolfSSL_ERR_print_errors_cb 967 #define ERR_print_errors wolfSSL_ERR_print_errors 968 #define ERR_clear_error wolfSSL_ERR_clear_error 969 #define ERR_free_strings wolfSSL_ERR_free_strings 970 #define ERR_remove_state wolfSSL_ERR_remove_state 971 #define ERR_remove_thread_state wolfSSL_ERR_remove_thread_state 972 #define ERR_error_string wolfSSL_ERR_error_string 973 #define ERR_error_string_n wolfSSL_ERR_error_string_n 974 #define ERR_reason_error_string wolfSSL_ERR_reason_error_string 975 #define ERR_func_error_string wolfSSL_ERR_func_error_string 976 #define ERR_lib_error_string wolfSSL_ERR_lib_error_string 977 #define ERR_load_BIO_strings wolfSSL_ERR_load_BIO_strings 978 979 #ifndef WOLFCRYPT_ONLY 980 #define PEMerr(func, reason) wolfSSL_ERR_put_error(ERR_LIB_PEM, \ 981 (func), (reason), __FILE__, __LINE__) 982 #else 983 #define PEMerr(func, reason) WOLFSSL_ERROR_LINE((reason), \ 984 NULL, __LINE__, __FILE__, NULL) 985 #endif 986 #ifndef WOLFCRYPT_ONLY 987 #define EVPerr(func, reason) wolfSSL_ERR_put_error(ERR_LIB_EVP, \ 988 (func), (reason), __FILE__, __LINE__) 989 #else 990 #define EVPerr(func, reason) WOLFSSL_ERROR_LINE((reason), \ 991 NULL, __LINE__, __FILE__, NULL) 992 #endif 993 994 #define SSLv23_server_method wolfSSLv23_server_method 995 #define SSL_CTX_set_options wolfSSL_CTX_set_options 996 #define SSL_CTX_get_options wolfSSL_CTX_get_options 997 #define SSL_CTX_clear_options wolfSSL_CTX_clear_options 998 999 #define SSL_CTX_check_private_key wolfSSL_CTX_check_private_key 1000 #define SSL_CTX_get0_privatekey wolfSSL_CTX_get0_privatekey 1001 #define SSL_check_private_key wolfSSL_check_private_key 1002 1003 #define SSL_CTX_set_mode wolfSSL_CTX_set_mode 1004 #define SSL_CTX_clear_mode wolfSSL_CTX_clear_mode 1005 #define SSL_CTX_get_mode wolfSSL_CTX_get_mode 1006 #define SSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead 1007 1008 #define SSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size 1009 #define SSL_CTX_set_default_verify_paths wolfSSL_CTX_set_default_verify_paths 1010 #define X509_get_default_cert_file_env wolfSSL_X509_get_default_cert_file_env 1011 #define X509_get_default_cert_file wolfSSL_X509_get_default_cert_file 1012 #define X509_get_default_cert_dir_env wolfSSL_X509_get_default_cert_dir_env 1013 #define X509_get_default_cert_dir wolfSSL_X509_get_default_cert_dir 1014 1015 #define SSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context 1016 #define SSL_get_peer_certificate wolfSSL_get_peer_certificate 1017 #define SSL_get_peer_cert_chain wolfSSL_get_peer_cert_chain 1018 1019 #define SSL_want wolfSSL_want 1020 #define SSL_want_read wolfSSL_want_read 1021 #define SSL_want_write wolfSSL_want_write 1022 1023 #define BIO_prf wolfSSL_BIO_prf 1024 1025 #define sk_num wolfSSL_sk_num 1026 #define sk_ASN1_OBJECT_num wolfSSL_sk_num 1027 #define OPENSSL_sk_num wolfSSL_sk_num 1028 #define sk_value wolfSSL_sk_value 1029 #define sk_ASN1_OBJECT_value wolfSSL_sk_value 1030 #define OPENSSL_sk_value wolfSSL_sk_value 1031 1032 #define d2i_PKCS12_bio wolfSSL_d2i_PKCS12_bio 1033 #define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp 1034 #define i2d_PKCS12_bio wolfSSL_i2d_PKCS12_bio 1035 1036 #define d2i_RSAPublicKey wolfSSL_d2i_RSAPublicKey 1037 #define d2i_RSAPrivateKey wolfSSL_d2i_RSAPrivateKey 1038 #define i2d_RSAPrivateKey wolfSSL_i2d_RSAPrivateKey 1039 #define i2d_RSAPublicKey wolfSSL_i2d_RSAPublicKey 1040 1041 #define SSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data 1042 #define SSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data 1043 #define SSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb 1044 #define SSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb 1045 #define SSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb 1046 1047 #define i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION 1048 #define d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION 1049 #define SSL_SESSION_has_ticket wolfSSL_SESSION_has_ticket 1050 #define SSL_SESSION_get_ticket_lifetime_hint \ 1051 wolfSSL_SESSION_get_ticket_lifetime_hint 1052 #define SSL_SESSION_set_timeout wolfSSL_SSL_SESSION_set_timeout 1053 #define SSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout 1054 #define SSL_SESSION_get_time wolfSSL_SESSION_get_time 1055 1056 #define SSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index 1057 #define PEM_read wolfSSL_PEM_read 1058 #define PEM_write wolfSSL_PEM_write 1059 #define PEM_get_EVP_CIPHER_INFO wolfSSL_PEM_get_EVP_CIPHER_INFO 1060 #define PEM_do_header wolfSSL_PEM_do_header 1061 1062 /*#if OPENSSL_API_COMPAT < 0x10100000L*/ 1063 #define CONF_modules_free() 1064 #define ENGINE_cleanup() 1065 #define SSL_CTX_need_tmp_RSA(ctx) 0 1066 #define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 1067 #define SSL_need_tmp_RSA(ssl) 0 1068 #define SSL_set_tmp_rsa(ssl,rsa) 1 1069 /*#endif*/ 1070 1071 #define CONF_modules_unload(a) 1072 #define CONF_get1_default_config_file wolfSSL_CONF_get1_default_config_file 1073 1074 #define SSL_get_hit wolfSSL_session_reused 1075 1076 /* yassl had set the default to be 500 */ 1077 #define SSL_get_default_timeout(ctx) 500 1078 1079 #define DTLSv1_get_timeout(ssl, timeleft) wolfSSL_DTLSv1_get_timeout((ssl), (WOLFSSL_TIMEVAL*)(timeleft)) 1080 #define DTLSv1_handle_timeout wolfSSL_DTLSv1_handle_timeout 1081 #define DTLSv1_set_initial_timeout_duration wolfSSL_DTLSv1_set_initial_timeout_duration 1082 1083 #ifndef NO_WOLFSSL_STUB 1084 #define SSL_CTX_set_current_time_cb(ssl, cb) ({ (void)ssl; (void)cb; }) 1085 #endif 1086 1087 #define SSL_CTX_use_certificate wolfSSL_CTX_use_certificate 1088 #define SSL_CTX_add0_chain_cert wolfSSL_CTX_add0_chain_cert 1089 #define SSL_CTX_add1_chain_cert wolfSSL_CTX_add1_chain_cert 1090 #define SSL_add0_chain_cert wolfSSL_add0_chain_cert 1091 #define SSL_add1_chain_cert wolfSSL_add1_chain_cert 1092 #define SSL_CTX_use_PrivateKey wolfSSL_CTX_use_PrivateKey 1093 #define BIO_read_filename wolfSSL_BIO_read_filename 1094 #define SSL_CTX_set_verify_depth wolfSSL_CTX_set_verify_depth 1095 #define SSL_set_verify_depth wolfSSL_set_verify_depth 1096 #define SSL_get_app_data wolfSSL_get_app_data 1097 #define SSL_set_app_data wolfSSL_set_app_data 1098 #define SHA1 wolfSSL_SHA1 1099 1100 #define SSL_dup_CA_list wolfSSL_dup_CA_list 1101 1102 #define sk_X509_NAME_find wolfSSL_sk_X509_NAME_find 1103 1104 #define DHparams_dup wolfSSL_DH_dup 1105 #define PEM_read_bio_DHparams wolfSSL_PEM_read_bio_DHparams 1106 #define PEM_read_DHparams wolfSSL_PEM_read_DHparams 1107 #define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams 1108 1109 #if defined(OPENSSL_ALL) || defined(WOLFSSL_HAPROXY) 1110 #define SSL_get_rbio wolfSSL_SSL_get_rbio 1111 #define SSL_get_wbio wolfSSL_SSL_get_wbio 1112 #define SSL_do_handshake wolfSSL_SSL_do_handshake 1113 #define SSL_get_ciphers(x) wolfSSL_get_ciphers_compat(x) 1114 #define SSL_SESSION_get_id wolfSSL_SESSION_get_id 1115 #define SSL_get_cipher_bits(s,np) \ 1116 wolfSSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) 1117 #define sk_SSL_CIPHER_num wolfSSL_sk_SSL_CIPHER_num 1118 #define sk_SSL_COMP_zero wolfSSL_sk_SSL_COMP_zero 1119 #define sk_SSL_CIPHER_value wolfSSL_sk_SSL_CIPHER_value 1120 #endif /* OPENSSL_ALL || WOLFSSL_HAPROXY */ 1121 #define sk_SSL_CIPHER_dup wolfSSL_sk_dup 1122 #define sk_SSL_CIPHER_free wolfSSL_sk_SSL_CIPHER_free 1123 #define sk_SSL_CIPHER_find wolfSSL_sk_SSL_CIPHER_find 1124 1125 #if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) \ 1126 || defined(WOLFSSL_NGINX) 1127 #include <wolfssl/openssl/pem.h> 1128 1129 #define SSL_CTRL_CHAIN 88 1130 #define SSL_R_SHORT_READ 10 1131 #define ERR_R_PEM_LIB 9 1132 #define SSL_CTRL_MODE 33 1133 1134 #define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 1135 1136 #define SSL_CTX_clear_chain_certs(ctx) SSL_CTX_set0_chain(ctx,NULL) 1137 #define d2i_RSAPrivateKey_bio wolfSSL_d2i_RSAPrivateKey_bio 1138 #define SSL_CTX_use_RSAPrivateKey wolfSSL_CTX_use_RSAPrivateKey 1139 #define d2i_PrivateKey_bio wolfSSL_d2i_PrivateKey_bio 1140 #define BIO_new_bio_pair wolfSSL_BIO_new_bio_pair 1141 #define SSL_get_verify_callback wolfSSL_get_verify_callback 1142 1143 #define SSL_set_mode(ssl,op) wolfSSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) 1144 1145 #define SSL_CTX_use_certificate_ASN1 wolfSSL_CTX_use_certificate_ASN1 1146 #define SSL_CTX_set0_chain(ctx,sk) \ 1147 wolfSSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) 1148 #define SSL_CTX_get_app_data(ctx) wolfSSL_CTX_get_ex_data(ctx,0) 1149 #define SSL_CTX_set_app_data(ctx,arg) wolfSSL_CTX_set_ex_data(ctx,0, \ 1150 (char *)(arg)) 1151 #endif /* OPENSSL_ALL || WOLFSSL_ASIO || WOLFSSL_HAPROXY */ 1152 1153 #define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh 1154 1155 #define TLSEXT_STATUSTYPE_ocsp 1 1156 1157 #define TLSEXT_max_fragment_length_512 WOLFSSL_MFL_2_9 1158 #define TLSEXT_max_fragment_length_1024 WOLFSSL_MFL_2_10 1159 #define TLSEXT_max_fragment_length_2048 WOLFSSL_MFL_2_11 1160 #define TLSEXT_max_fragment_length_4096 WOLFSSL_MFL_2_12 1161 1162 #define SSL_set_options wolfSSL_set_options 1163 #define SSL_get_options wolfSSL_get_options 1164 #define SSL_clear_options wolfSSL_clear_options 1165 #define SSL_set_tmp_dh wolfSSL_set_tmp_dh 1166 #define SSL_clear_num_renegotiations wolfSSL_clear_num_renegotiations 1167 #define SSL_total_renegotiations wolfSSL_total_renegotiations 1168 #define SSL_num_renegotiations wolfSSL_num_renegotiations 1169 #define SSL_renegotiate wolfSSL_Rehandshake 1170 #define SSL_get_secure_renegotiation_support wolfSSL_SSL_get_secure_renegotiation_support 1171 #define SSL_renegotiate_pending wolfSSL_SSL_renegotiate_pending 1172 #define SSL_set_tlsext_debug_arg wolfSSL_set_tlsext_debug_arg 1173 #define SSL_set_tlsext_status_type wolfSSL_set_tlsext_status_type 1174 #define SSL_get_tlsext_status_type wolfSSL_get_tlsext_status_type 1175 #define SSL_set_tlsext_status_exts wolfSSL_set_tlsext_status_exts 1176 #define SSL_get_tlsext_status_ids wolfSSL_get_tlsext_status_ids 1177 #define SSL_set_tlsext_status_ids wolfSSL_set_tlsext_status_ids 1178 #define SSL_get_tlsext_status_ocsp_res wolfSSL_get_tlsext_status_ocsp_resp 1179 #define SSL_set_tlsext_status_ocsp_res wolfSSL_set_tlsext_status_ocsp_resp 1180 #define SSL_set_tlsext_status_ocsp_resp wolfSSL_set_tlsext_status_ocsp_resp 1181 #define SSL_get_tlsext_status_ocsp_resp wolfSSL_get_tlsext_status_ocsp_resp 1182 #define SSL_set_tlsext_max_fragment_length wolfSSL_set_tlsext_max_fragment_length 1183 1184 #define SSL_CTX_add_extra_chain_cert wolfSSL_CTX_add_extra_chain_cert 1185 #define SSL_get_read_ahead wolfSSL_get_read_ahead 1186 #define SSL_set_read_ahead wolfSSL_set_read_ahead 1187 #define SSL_CTX_get_read_ahead wolfSSL_CTX_get_read_ahead 1188 #define SSL_CTX_set_read_ahead wolfSSL_CTX_set_read_ahead 1189 #define SSL_CTX_set_tlsext_status_arg wolfSSL_CTX_set_tlsext_status_arg 1190 #define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg \ 1191 wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg 1192 #define SSL_CTX_set_tlsext_max_fragment_length \ 1193 wolfSSL_CTX_set_tlsext_max_fragment_length 1194 #define SSL_get_server_random wolfSSL_get_server_random 1195 #define SSL_get_server_tmp_key wolfSSL_get_server_tmp_key 1196 1197 #define SSL_CTX_set_min_proto_version wolfSSL_CTX_set_min_proto_version 1198 #define SSL_CTX_set_max_proto_version wolfSSL_CTX_set_max_proto_version 1199 #define SSL_set_min_proto_version wolfSSL_set_min_proto_version 1200 #define SSL_set_max_proto_version wolfSSL_set_max_proto_version 1201 #define SSL_CTX_get_min_proto_version wolfSSL_CTX_get_min_proto_version 1202 #define SSL_CTX_get_max_proto_version wolfSSL_CTX_get_max_proto_version 1203 1204 #define SSL_get_tlsext_status_exts wolfSSL_get_tlsext_status_exts 1205 1206 #define SSL_CTX_get_tlsext_ticket_keys wolfSSL_CTX_get_tlsext_ticket_keys 1207 #define SSL_CTX_set_tlsext_ticket_keys wolfSSL_CTX_set_tlsext_ticket_keys 1208 #define SSL_CTX_get_tlsext_status_cb wolfSSL_CTX_get_tlsext_status_cb 1209 #define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb 1210 #define SSL_CTX_set_num_tickets wolfSSL_CTX_set_num_tickets 1211 #define SSL_CTX_get_num_tickets wolfSSL_CTX_get_num_tickets 1212 1213 #define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 1214 #define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 1215 #define SSL_CTRL_SET_TMP_DH 3 1216 #define SSL_CTRL_SET_TMP_ECDH 4 1217 #define SSL_CTRL_SET_SESS_CACHE_MODE 44 1218 #define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 1219 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 1220 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 651 1221 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 1222 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 1223 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 1224 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 1225 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 1226 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 1227 #define SSL_CTRL_SET_GROUPS 91 1228 #define SSL_CTRL_GET_PEER_TMP_KEY 109 1229 #define SSL_CTRL_GET_SERVER_TMP_KEY SSL_CTRL_GET_PEER_TMP_KEY 1230 #define SSL_CTRL_SET_MIN_PROTO_VERSION 123 1231 #define SSL_CTRL_SET_MAX_PROTO_VERSION 124 1232 #define SSL_CTRL_GET_MIN_PROTO_VERSION 125 1233 #define SSL_CTRL_GET_MAX_PROTO_VERSION 126 1234 #define SSL_CTRL_SET_CURVES SSL_CTRL_SET_GROUPS 1235 1236 #define SSL_CTRL_EXTRA_CHAIN_CERT 14 1237 #define SSL_CTRL_OPTIONS 32 1238 1239 #define SSL_CTRL_SET_SESS_CACHE_SIZE 42 1240 #define SSL_CTRL_GET_READ_AHEAD 40 1241 #define SSL_CTRL_SET_READ_AHEAD 41 1242 1243 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 1244 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 1245 1246 #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 1247 #define SSL_CTRL_GET_SESSION_REUSED 0 1248 1249 #define SSL_ctrl wolfSSL_ctrl 1250 #define SSL_CTX_ctrl wolfSSL_CTX_ctrl 1251 #define SSL_CTX_callback_ctrl wolfSSL_CTX_callback_ctrl 1252 1253 #define SSL3_RANDOM_SIZE 32 /* same as RAN_LEN in internal.h */ 1254 1255 #define SSL2_VERSION 0x0002 1256 #define SSL3_VERSION 0x0300 1257 #define TLS1_VERSION 0x0301 1258 #define TLS1_1_VERSION 0x0302 1259 #define TLS1_2_VERSION 0x0303 1260 #define TLS1_3_VERSION 0x0304 1261 #define DTLS1_VERSION 0xFEFF 1262 #define DTLS1_2_VERSION 0xFEFD 1263 1264 /* Used as message callback types */ 1265 #define SSL3_RT_CHANGE_CIPHER_SPEC 20 1266 #define SSL3_RT_ALERT 21 1267 #define SSL3_RT_HANDSHAKE 22 1268 #define SSL3_RT_APPLICATION_DATA 23 1269 1270 #define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L 1271 #define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L 1272 1273 #define CRYPTO_EX_INDEX_SSL 0 1274 #define TLS_ANY_VERSION 0x10000 1275 #define DTLS1_2_VERSION 0xFEFD 1276 #define DTLS_MAX_VERSION DTLS1_2_VERSION 1277 1278 /* apache and lighty use SSL_CONF_FLAG_FILE to enable conf support */ 1279 #define SSL_CONF_FLAG_CMDLINE WOLFSSL_CONF_FLAG_CMDLINE 1280 #define SSL_CONF_FLAG_FILE WOLFSSL_CONF_FLAG_FILE 1281 #define SSL_CONF_FLAG_CERTIFICATE WOLFSSL_CONF_FLAG_CERTIFICATE 1282 #define SSL_CONF_FLAG_SERVER WOLFSSL_CONF_FLAG_SERVER 1283 #define SSL_CONF_FLAG_CLIENT WOLFSSL_CONF_FLAG_CLIENT 1284 #define SSL_CONF_FLAG_SHOW_ERRORS WOLFSSL_CONF_FLAG_SHOW_ERRORS 1285 #define SSL_CONF_TYPE_UNKNOWN WOLFSSL_CONF_TYPE_UNKNOWN 1286 #define SSL_CONF_TYPE_STRING WOLFSSL_CONF_TYPE_STRING 1287 #define SSL_CONF_TYPE_FILE WOLFSSL_CONF_TYPE_FILE 1288 #define SSL_CONF_TYPE_DIR WOLFSSL_CONF_TYPE_DIR 1289 1290 #if defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || defined(OPENSSL_EXTRA) \ 1291 || defined(OPENSSL_ALL) 1292 1293 #define SSL23_ST_SR_CLNT_HELLO_A (0x210|0x2000) 1294 #define SSL3_ST_SR_CLNT_HELLO_A (0x110|0x2000) 1295 1296 #define SSL3_AD_BAD_CERTIFICATE bad_certificate 1297 #define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE 1298 #define SSL_AD_UNRECOGNIZED_NAME unrecognized_name 1299 #define SSL_AD_NO_RENEGOTIATION no_renegotiation 1300 #define SSL_AD_INTERNAL_ERROR 80 1301 1302 #define ASN1_STRFLGS_ESC_MSB 4 1303 1304 #define SSL_MAX_MASTER_KEY_LENGTH WOLFSSL_MAX_MASTER_KEY_LENGTH 1305 1306 #define SSL_alert_desc_string_long wolfSSL_alert_desc_string_long 1307 #define SSL_alert_type_string_long wolfSSL_alert_type_string_long 1308 #define SSL_CIPHER_get_bits wolfSSL_CIPHER_get_bits 1309 #define sk_GENERAL_NAME_num wolfSSL_sk_GENERAL_NAME_num 1310 #define SSL_CTX_get_options wolfSSL_CTX_get_options 1311 1312 #define SSL_CTX_flush_sessions wolfSSL_flush_sessions 1313 #define SSL_CTX_add_session wolfSSL_CTX_add_session 1314 #define SSL_version(x) wolfSSL_version ((WOLFSSL*) (x)) 1315 #define SSL_get_state wolfSSL_get_state 1316 #define SSL_state_string_long wolfSSL_state_string_long 1317 1318 #define GENERAL_NAME_new wolfSSL_GENERAL_NAME_new 1319 #define GENERAL_NAME_free wolfSSL_GENERAL_NAME_free 1320 #define GENERAL_NAME_print wolfSSL_GENERAL_NAME_print 1321 #define sk_GENERAL_NAME_push wolfSSL_sk_GENERAL_NAME_push 1322 #define sk_GENERAL_NAME_value wolfSSL_sk_GENERAL_NAME_value 1323 1324 #define DIST_POINT_new wolfSSL_DIST_POINT_new 1325 #define DIST_POINT_free wolfSSL_DIST_POINT_free 1326 #define DIST_POINTS_free wolfSSL_DIST_POINTS_free 1327 #define CRL_DIST_POINTS_free(cdp) wolfSSL_sk_DIST_POINT_pop_free((cdp), NULL) 1328 #define sk_DIST_POINT_push wolfSSL_sk_DIST_POINT_push 1329 #define sk_DIST_POINT_value wolfSSL_sk_DIST_POINT_value 1330 #define sk_DIST_POINT_num wolfSSL_sk_DIST_POINT_num 1331 #define sk_DIST_POINT_pop_free wolfSSL_sk_DIST_POINT_pop_free 1332 #define sk_DIST_POINT_free wolfSSL_sk_DIST_POINT_free 1333 1334 #define SSL_SESSION_get_ex_data wolfSSL_SESSION_get_ex_data 1335 #define SSL_SESSION_set_ex_data wolfSSL_SESSION_set_ex_data 1336 #define SSL_SESSION_get_ex_new_index wolfSSL_SESSION_get_ex_new_index 1337 #define SSL_SESSION_get_id wolfSSL_SESSION_get_id 1338 #define SSL_SESSION_print wolfSSL_SESSION_print 1339 #define sk_GENERAL_NAME_pop_free wolfSSL_sk_GENERAL_NAME_pop_free 1340 #define sk_GENERAL_NAME_free wolfSSL_sk_GENERAL_NAME_free 1341 #define sk_ASN1_OBJECT_pop_free wolfSSL_sk_ASN1_OBJECT_pop_free 1342 #define GENERAL_NAME_free wolfSSL_GENERAL_NAME_free 1343 #define GENERAL_NAMES_free wolfSSL_GENERAL_NAMES_free 1344 1345 #define AUTHORITY_INFO_ACCESS_free wolfSSL_AUTHORITY_INFO_ACCESS_free 1346 #define AUTHORITY_INFO_ACCESS_pop_free wolfSSL_AUTHORITY_INFO_ACCESS_pop_free 1347 #define sk_ACCESS_DESCRIPTION_pop_free wolfSSL_sk_ACCESS_DESCRIPTION_pop_free 1348 #define sk_ACCESS_DESCRIPTION_free wolfSSL_sk_ACCESS_DESCRIPTION_free 1349 #define ACCESS_DESCRIPTION_free wolfSSL_ACCESS_DESCRIPTION_free 1350 1351 /* Alert types, matched to AlertDescription enum in wolfssl/ssl.h */ 1352 #define SSL_AD_CLOSE_NOTIFY close_notify 1353 #define SSL_AD_UNEXPECTED_MESSAGE unexpected_message 1354 #define SSL_AD_BAD_RECORD_MAC bad_record_mac 1355 #define SSL_AD_RECORD_OVERFLOW record_overflow 1356 #define SSL_AD_DECOMPRESSION_FAILURE decompression_failure 1357 #define SSL_AD_HANDSHAKE_FAILURE handshake_failure 1358 #define SSL_AD_UNSUPPORTED_CERTIFICATE unsupported_certificate 1359 #define SSL_AD_CERTIFICATE_REVOKED certificate_revoked 1360 #define SSL_AD_CERTIFICATE_EXPIRED certificate_expired 1361 #define SSL_AD_CERTIFICATE_UNKNOWN certificate_unknown 1362 #define SSL_AD_ILLEGAL_PARAMETER illegal_parameter 1363 #define SSL_AD_UNKNOWN_CA unknown_ca 1364 #define SSL_AD_ACCESS_DENIED access_denied 1365 #define SSL_AD_DECODE_ERROR decode_error 1366 #define SSL_AD_DECRYPT_ERROR decrypt_error 1367 #ifdef WOLFSSL_MYSQL_COMPATIBLE 1368 #define SSL_AD_PROTOCOL_VERSION wc_protocol_version 1369 #else 1370 #define SSL_AD_PROTOCOL_VERSION protocol_version 1371 #endif 1372 #define SSL_AD_INSUFFICIENT_SECURITY insufficient_security 1373 #define SSL_AD_USER_CANCELLED user_canceled 1374 1375 #define SSL3_AL_FATAL 2 1376 #define SSL_TLSEXT_ERR_OK 0 1377 #define SSL_TLSEXT_ERR_ALERT_WARNING warning_return 1378 #define SSL_TLSEXT_ERR_ALERT_FATAL fatal_return 1379 #define SSL_TLSEXT_ERR_NOACK noack_return 1380 #define TLSEXT_NAMETYPE_host_name WOLFSSL_SNI_HOST_NAME 1381 1382 #define SSL_set_tlsext_host_name wolfSSL_set_tlsext_host_name 1383 #define SSL_get_servername wolfSSL_get_servername 1384 #define SSL_set_SSL_CTX wolfSSL_set_SSL_CTX 1385 #define SSL_CTX_get_verify_callback wolfSSL_CTX_get_verify_callback 1386 #define SSL_CTX_set_tlsext_servername_callback wolfSSL_CTX_set_tlsext_servername_callback 1387 #define SSL_CTX_set_tlsext_servername_arg wolfSSL_CTX_set_servername_arg 1388 1389 #define PSK_MAX_PSK_LEN 256 1390 #define PSK_MAX_IDENTITY_LEN 128 1391 #define SSL_CTX_clear_options wolfSSL_CTX_clear_options 1392 1393 #define SSL_CTX_add_server_custom_ext(...) 0 1394 1395 #define SSL_get0_verified_chain wolfSSL_get0_verified_chain 1396 #define X509_chain_up_ref wolfSSL_X509_chain_up_ref 1397 1398 #endif /* HAVE_STUNNEL || WOLFSSL_NGINX */ 1399 1400 #ifndef NO_WOLFSSL_STUB 1401 #define b2i_PrivateKey_bio(...) NULL 1402 #define b2i_PVK_bio(...) NULL 1403 #endif 1404 1405 #define SSL_CTX_get_default_passwd_cb wolfSSL_CTX_get_default_passwd_cb 1406 #define SSL_CTX_get_default_passwd_cb_userdata wolfSSL_CTX_get_default_passwd_cb_userdata 1407 1408 #define SSL_CTX_set_msg_callback wolfSSL_CTX_set_msg_callback 1409 #define SSL_set_msg_callback wolfSSL_set_msg_callback 1410 #define SSL_CTX_set_msg_callback_arg wolfSSL_CTX_set_msg_callback_arg 1411 #define SSL_set_msg_callback_arg wolfSSL_set_msg_callback_arg 1412 1413 #define SSL_CTX_clear_extra_chain_certs wolfSSL_CTX_clear_extra_chain_certs 1414 1415 #define SSL_certs_clear wolfSSL_certs_clear 1416 1417 /* Nginx uses this to determine if reached end of certs in file. 1418 * PEM_read_bio_X509 is called and the return error is lost. 1419 * The error that needs to be detected is: SSL_NO_PEM_HEADER. 1420 */ 1421 #define ERR_GET_FUNC(l) (int)((((unsigned long)l) >> 12L) & 0xfffL) 1422 1423 #define PEM_F_PEM_DEF_CALLBACK 100 1424 1425 /* Avoid wolfSSL error code range */ 1426 #define PEM_R_NO_START_LINE (-MIN_CODE_E + 1) 1427 #define PEM_R_PROBLEMS_GETTING_PASSWORD (-MIN_CODE_E + 2) 1428 #define PEM_R_BAD_PASSWORD_READ (-MIN_CODE_E + 3) 1429 #define PEM_R_BAD_DECRYPT (-MIN_CODE_E + 4) 1430 #define ASN1_R_HEADER_TOO_LONG (-MIN_CODE_E + 5) 1431 1432 #define ERR_LIB_RSA 4 1433 #define ERR_LIB_EC 16 1434 #define ERR_LIB_SSL 20 1435 #define ERR_LIB_PKCS12 35 1436 #define ERR_LIB_PEM 9 1437 #define ERR_LIB_X509 10 1438 #define ERR_LIB_EVP 11 1439 #define ERR_LIB_ASN1 12 1440 #define ERR_LIB_DIGEST 13 1441 #define ERR_LIB_CIPHER 14 1442 #define ERR_LIB_USER 15 1443 1444 #if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \ 1445 defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(OPENSSL_EXTRA) || \ 1446 defined(HAVE_LIGHTY) || defined(HAVE_STUNNEL) || \ 1447 defined(WOLFSSL_WPAS_SMALL) 1448 1449 #include <wolfssl/error-ssl.h> 1450 1451 #define OPENSSL_STRING WOLFSSL_STRING 1452 #define OPENSSL_CSTRING WOLFSSL_STRING 1453 1454 #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 1455 1456 #define OPENSSL_NPN_UNSUPPORTED 0 1457 #define OPENSSL_NPN_NEGOTIATED 1 1458 #define OPENSSL_NPN_NO_OVERLAP 2 1459 1460 /* Nginx checks these to see if the error was a handshake error. */ 1461 #define SSL_R_BAD_CHANGE_CIPHER_SPEC LENGTH_ERROR 1462 #define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG BUFFER_E 1463 #define SSL_R_DIGEST_CHECK_FAILED VERIFY_MAC_ERROR 1464 #define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST SUITES_ERROR 1465 #define SSL_R_EXCESSIVE_MESSAGE_SIZE BUFFER_ERROR 1466 #define SSL_R_LENGTH_MISMATCH LENGTH_ERROR 1467 #define SSL_R_NO_CIPHERS_SPECIFIED SUITES_ERROR 1468 #define SSL_R_NO_COMPRESSION_SPECIFIED COMPRESSION_ERROR 1469 #define SSL_R_NO_SHARED_CIPHER MATCH_SUITE_ERROR 1470 #define SSL_R_RECORD_LENGTH_MISMATCH HANDSHAKE_SIZE_ERROR 1471 #define SSL_R_UNEXPECTED_MESSAGE OUT_OF_ORDER_E 1472 #define SSL_R_UNEXPECTED_RECORD SANITY_MSG_E 1473 #define SSL_R_UNKNOWN_ALERT_TYPE BUFFER_ERROR 1474 #define SSL_R_UNKNOWN_PROTOCOL VERSION_ERROR 1475 #define SSL_R_WRONG_VERSION_NUMBER VERSION_ERROR 1476 #define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC ENCRYPT_ERROR 1477 #define SSL_R_HTTPS_PROXY_REQUEST PARSE_ERROR 1478 #define SSL_R_HTTP_REQUEST PARSE_ERROR 1479 #define SSL_R_UNSUPPORTED_PROTOCOL VERSION_ERROR 1480 #define SSL_R_CERTIFICATE_VERIFY_FAILED VERIFY_CERT_ERROR 1481 #define SSL_R_CERT_CB_ERROR CLIENT_CERT_CB_ERROR 1482 1483 1484 #ifdef HAVE_SESSION_TICKET 1485 #define SSL_OP_NO_TICKET SSL_OP_NO_TICKET 1486 #define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 1487 #endif 1488 1489 /* Some openssl consumers try to detect these options with ifdef, defining 1490 * here since we use an enum internally instead */ 1491 #define SSL_OP_SINGLE_DH_USE WOLFSSL_OP_SINGLE_DH_USE 1492 #define SSL_OP_SINGLE_ECDH_USE WOLFSSL_OP_SINGLE_ECDH_USE 1493 #define SSL_OP_CIPHER_SERVER_PREFERENCE WOLFSSL_OP_CIPHER_SERVER_PREFERENCE 1494 1495 #define OPENSSL_config wolfSSL_OPENSSL_config 1496 #define OPENSSL_memdup wolfSSL_OPENSSL_memdup 1497 #define OPENSSL_cleanse wolfSSL_OPENSSL_cleanse 1498 #define SSL_CTX_get_timeout wolfSSL_SSL_CTX_get_timeout 1499 #define SSL_CTX_set_tmp_ecdh wolfSSL_SSL_CTX_set_tmp_ecdh 1500 #define SSL_CTX_remove_session wolfSSL_SSL_CTX_remove_session 1501 #define SSL_get_rbio wolfSSL_SSL_get_rbio 1502 #define SSL_get_wbio wolfSSL_SSL_get_wbio 1503 #define SSL_do_handshake wolfSSL_SSL_do_handshake 1504 #define SSL_in_init wolfSSL_SSL_in_init 1505 #define SSL_in_connect_init wolfSSL_SSL_in_connect_init 1506 #define SSL_get0_session wolfSSL_SSL_get0_session 1507 #define SSL_CTX_set_tlsext_ticket_key_cb wolfSSL_CTX_set_tlsext_ticket_key_cb 1508 #define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb 1509 #define SSL_CTX_get_extra_chain_certs wolfSSL_CTX_get_extra_chain_certs 1510 #define SSL_CTX_get0_chain_certs wolfSSL_CTX_get0_chain_certs 1511 #define SSL_get0_chain_certs wolfSSL_get0_chain_certs 1512 #define sk_OPENSSL_STRING_num wolfSSL_sk_WOLFSSL_STRING_num 1513 #define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value 1514 #define sk_OPENSSL_PSTRING_num wolfSSL_sk_WOLFSSL_STRING_num 1515 #define sk_OPENSSL_PSTRING_value (WOLFSSL_STRING*)wolfSSL_sk_WOLFSSL_STRING_value 1516 #define sk_OPENSSL_STRING_free wolfSSL_sk_free 1517 #define SSL_get0_alpn_selected wolfSSL_get0_alpn_selected 1518 #define SSL_select_next_proto wolfSSL_select_next_proto 1519 #define SSL_CTX_set_alpn_select_cb wolfSSL_CTX_set_alpn_select_cb 1520 #define SSL_CTX_set_next_protos_advertised_cb wolfSSL_CTX_set_next_protos_advertised_cb 1521 #define SSL_CTX_set_next_proto_select_cb wolfSSL_CTX_set_next_proto_select_cb 1522 #define SSL_set_alpn_protos wolfSSL_set_alpn_protos 1523 #define SSL_get0_next_proto_negotiated wolfSSL_get0_next_proto_negotiated 1524 #define SSL_is_server wolfSSL_is_server 1525 1526 #endif /* WOLFSSL_NGINX || WOLFSSL_HAPROXY || WOLFSSL_MYSQL_COMPATIBLE || 1527 OPENSSL_ALL || HAVE_LIGHTY */ 1528 1529 #if defined(OPENSSL_EXTRA) && defined(HAVE_ECC) 1530 #define SSL_CTX_set1_curves_list wolfSSL_CTX_set1_curves_list 1531 #define SSL_set1_curves_list wolfSSL_set1_curves_list 1532 #endif 1533 1534 #ifdef OPENSSL_EXTRA 1535 #define SSL_CTX_add_client_CA wolfSSL_CTX_add_client_CA 1536 #define SSL_CTX_set_srp_password wolfSSL_CTX_set_srp_password 1537 #define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username 1538 #define SSL_CTX_set_srp_strength wolfSSL_CTX_set_srp_strength 1539 #define SSL_get_SSL_CTX wolfSSL_get_SSL_CTX 1540 #define SSL_get0_param wolfSSL_get0_param 1541 #define SSL_CTX_get0_param wolfSSL_CTX_get0_param 1542 #define SSL_CTX_set1_param wolfSSL_CTX_set1_param 1543 #define SSL_get_srp_username wolfSSL_get_srp_username 1544 1545 #define ERR_NUM_ERRORS 16 1546 #define SN_pkcs9_emailAddress "Email" 1547 #define LN_pkcs9_emailAddress "emailAddress" 1548 #define NID_pkcs9_emailAddress 48 1549 #define OBJ_pkcs9_emailAddress 1L,2L,840L,113539L,1L,9L,1L 1550 1551 #define LN_basic_constraints "X509v3 Basic Constraints" 1552 #define LN_key_usage "X509v3 Key Usage" 1553 #define LN_subject_key_identifier "X509v3 Subject Key Identifier" 1554 #define LN_ext_key_usage "X509v3 Extended Key Usage" 1555 1556 #define SSL_get_rbio wolfSSL_SSL_get_rbio 1557 #define SSL_get_wbio wolfSSL_SSL_get_wbio 1558 #define SSL_do_handshake wolfSSL_SSL_do_handshake 1559 1560 #if defined(WOLFSSL_EARLY_DATA) 1561 #define SSL_EARLY_DATA_NOT_SENT WOLFSSL_EARLY_DATA_NOT_SENT 1562 #define SSL_EARLY_DATA_REJECTED WOLFSSL_EARLY_DATA_REJECTED 1563 #define SSL_EARLY_DATA_ACCEPTED WOLFSSL_EARLY_DATA_ACCEPTED 1564 1565 #define SSL_get_early_data_status wolfSSL_get_early_data_status 1566 #define SSL_set_max_early_data wolfSSL_set_max_early_data 1567 #define SSL_get_max_early_data wolfSSL_get_max_early_data 1568 #define SSL_CTX_set_max_early_data wolfSSL_CTX_set_max_early_data 1569 #define SSL_CTX_get_max_early_data wolfSSL_CTX_get_max_early_data 1570 #endif 1571 1572 #endif /* OPENSSL_EXTRA */ 1573 1574 /* cipher suites for compatibility */ 1575 #define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) 1576 #define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) 1577 #define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) 1578 #define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) 1579 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) 1580 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) 1581 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) 1582 #define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9) 1583 1584 #define X509_LU_NONE WOLFSSL_X509_LU_NONE 1585 #define X509_LU_X509 WOLFSSL_X509_LU_X509 1586 #define X509_LU_CRL WOLFSSL_X509_LU_CRL 1587 1588 #define X509_STORE_get0_objects wolfSSL_X509_STORE_get0_objects 1589 #define sk_X509_OBJECT_num wolfSSL_sk_X509_OBJECT_num 1590 #define sk_X509_OBJECT_value wolfSSL_sk_X509_OBJECT_value 1591 #define sk_X509_OBJECT_delete wolfSSL_sk_X509_OBJECT_delete 1592 #define X509_OBJECT_new wolfSSL_X509_OBJECT_new 1593 #define X509_OBJECT_free wolfSSL_X509_OBJECT_free 1594 #define X509_OBJECT_get_type wolfSSL_X509_OBJECT_get_type 1595 #if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L 1596 #define OpenSSL_version(x) wolfSSL_OpenSSL_version(x) 1597 #else 1598 #define OpenSSL_version(x) wolfSSL_OpenSSL_version() 1599 #endif 1600 1601 #ifndef NO_WOLFSSL_STUB 1602 #define OBJ_create_objects(...) 1603 #define sk_SSL_COMP_free(...) 1604 #endif 1605 1606 #define OBJ_dup wolfSSL_ASN1_OBJECT_dup 1607 1608 #define SSL_set_psk_use_session_callback wolfSSL_set_psk_use_session_callback 1609 #define SSL_SESSION_is_resumable wolfSSL_SESSION_is_resumable 1610 typedef WOLFSSL_CONF_CTX SSL_CONF_CTX; 1611 1612 #define SSL_CONF_CTX_new wolfSSL_CONF_CTX_new 1613 #define SSL_CONF_CTX_free wolfSSL_CONF_CTX_free 1614 #define SSL_CONF_CTX_set_ssl_ctx wolfSSL_CONF_CTX_set_ssl_ctx 1615 #define SSL_CONF_CTX_set_flags wolfSSL_CONF_CTX_set_flags 1616 #define SSL_CONF_CTX_finish wolfSSL_CONF_CTX_finish 1617 #define SSL_CONF_cmd wolfSSL_CONF_cmd 1618 #define SSL_CONF_cmd_value_type wolfSSL_CONF_cmd_value_type 1619 1620 #ifdef __cplusplus 1621 } /* extern "C" */ 1622 #endif 1623 1624 #endif /* wolfSSL_openssl_h__ */ 1625