wolfSSL SSL/TLS library, support up to TLS1.3
Embed:
(wiki syntax)
Show/hide line numbers
ssl.h
00001 /* ssl.h 00002 * 00003 * Copyright (C) 2006-2017 wolfSSL Inc. 00004 * 00005 * This file is part of wolfSSL. 00006 * 00007 * wolfSSL is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * wolfSSL is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 00020 */ 00021 00022 00023 00024 /* ssl.h defines wolfssl_openssl compatibility layer 00025 * 00026 */ 00027 00028 00029 #ifndef WOLFSSL_OPENSSL_H_ 00030 #define WOLFSSL_OPENSSL_H_ 00031 00032 /* wolfssl_openssl compatibility layer */ 00033 #ifndef OPENSSL_EXTRA_SSL_GUARD 00034 #define OPENSSL_EXTRA_SSL_GUARD 00035 #include <wolfssl/ssl.h> 00036 #endif /* OPENSSL_EXTRA_SSL_GUARD */ 00037 00038 #include <wolfssl/openssl/evp.h> 00039 #ifdef OPENSSL_EXTRA 00040 #include <wolfssl/openssl/crypto.h> 00041 #endif 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 #ifdef _WIN32 00048 /* wincrypt.h clashes */ 00049 #undef X509_NAME 00050 #endif 00051 00052 #ifdef WOLFSSL_UTASKER 00053 /* tcpip.h clashes */ 00054 #undef ASN1_INTEGER 00055 #endif 00056 00057 00058 typedef WOLFSSL SSL; 00059 typedef WOLFSSL_SESSION SSL_SESSION; 00060 typedef WOLFSSL_METHOD SSL_METHOD; 00061 typedef WOLFSSL_CTX SSL_CTX; 00062 00063 typedef WOLFSSL_X509 X509; 00064 typedef WOLFSSL_X509 X509_REQ; 00065 typedef WOLFSSL_X509_NAME X509_NAME; 00066 typedef WOLFSSL_X509_CHAIN X509_CHAIN; 00067 00068 00069 /* redeclare guard */ 00070 #define WOLFSSL_TYPES_DEFINED 00071 00072 typedef WOLFSSL_BIO BIO; 00073 typedef WOLFSSL_BIO_METHOD BIO_METHOD; 00074 typedef WOLFSSL_CIPHER SSL_CIPHER; 00075 typedef WOLFSSL_X509_LOOKUP X509_LOOKUP; 00076 typedef WOLFSSL_X509_LOOKUP_METHOD X509_LOOKUP_METHOD; 00077 typedef WOLFSSL_X509_CRL X509_CRL; 00078 typedef WOLFSSL_X509_EXTENSION X509_EXTENSION; 00079 typedef WOLFSSL_ASN1_TIME ASN1_TIME; 00080 typedef WOLFSSL_ASN1_INTEGER ASN1_INTEGER; 00081 typedef WOLFSSL_ASN1_OBJECT ASN1_OBJECT; 00082 typedef WOLFSSL_ASN1_STRING ASN1_STRING; 00083 typedef WOLFSSL_dynlock_value CRYPTO_dynlock_value; 00084 typedef WOLFSSL_BUF_MEM BUF_MEM; 00085 00086 /* GENERAL_NAME and BASIC_CONSTRAINTS structs may need implemented as 00087 * compatibility layer expands. For now treating them as an ASN1_OBJECT */ 00088 typedef WOLFSSL_ASN1_OBJECT GENERAL_NAME; 00089 typedef WOLFSSL_ASN1_OBJECT BASIC_CONSTRAINTS; 00090 00091 #define ASN1_UTCTIME WOLFSSL_ASN1_TIME 00092 #define ASN1_GENERALIZEDTIME WOLFSSL_ASN1_TIME 00093 00094 typedef WOLFSSL_COMP_METHOD COMP_METHOD; 00095 typedef WOLFSSL_X509_REVOKED X509_REVOKED; 00096 typedef WOLFSSL_X509_OBJECT X509_OBJECT; 00097 typedef WOLFSSL_X509_STORE X509_STORE; 00098 typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX; 00099 00100 #define CRYPTO_free XFREE 00101 #define CRYPTO_malloc XMALLOC 00102 #define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new 00103 #define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup 00104 #define CRYPTO_EX_free WOLFSSL_CRYPTO_EX_free 00105 00106 #define STACK_OF(x) WOLFSSL_STACK 00107 00108 /* this function was used to set the default malloc, free, and realloc */ 00109 #define CRYPTO_malloc_init() /* CRYPTO_malloc_init is not needed */ 00110 00111 #define SSL_get_client_random(ssl,out,outSz) \ 00112 wolfSSL_get_client_random((ssl),(out),(outSz)) 00113 #define SSL_get_cipher_list(ctx,i) wolfSSL_get_cipher_list_ex((ctx),(i)) 00114 #define SSL_get_cipher_name(ctx) wolfSSL_get_cipher((ctx)) 00115 #define SSL_get_shared_ciphers(ctx,buf,len) \ 00116 wolfSSL_get_shared_ciphers((ctx),(buf),(len)) 00117 00118 #define ERR_print_errors_fp(file) wolfSSL_ERR_dump_errors_fp((file)) 00119 00120 /* at the moment only returns ok */ 00121 #define SSL_get_verify_result wolfSSL_get_verify_result 00122 #define SSL_get_verify_mode wolfSSL_SSL_get_mode 00123 #define SSL_get_verify_depth wolfSSL_get_verify_depth 00124 #define SSL_CTX_get_verify_mode wolfSSL_CTX_get_verify_mode 00125 #define SSL_CTX_get_verify_depth wolfSSL_CTX_get_verify_depth 00126 #define SSL_get_certificate wolfSSL_get_certificate 00127 #define SSL_use_certificate wolfSSL_use_certificate 00128 #define SSL_use_certificate_ASN1 wolfSSL_use_certificate_ASN1 00129 #define d2i_PKCS8_PRIV_KEY_INFO_bio wolfSSL_d2i_PKCS8_PKEY_bio 00130 #define PKCS8_PRIV_KEY_INFO_free wolfSSL_EVP_PKEY_free 00131 #define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp 00132 00133 #define d2i_PUBKEY_bio wolfSSL_d2i_PUBKEY_bio 00134 #define d2i_PrivateKey wolfSSL_d2i_PrivateKey 00135 #define SSL_use_PrivateKey wolfSSL_use_PrivateKey 00136 #define SSL_use_PrivateKey_ASN1 wolfSSL_use_PrivateKey_ASN1 00137 #define SSL_use_RSAPrivateKey_ASN1 wolfSSL_use_RSAPrivateKey_ASN1 00138 #define SSL_get_privatekey wolfSSL_get_privatekey 00139 00140 #define SSLv23_method wolfSSLv23_method 00141 #define SSLv3_server_method wolfSSLv3_server_method 00142 #define SSLv3_client_method wolfSSLv3_client_method 00143 #define TLSv1_method wolfTLSv1_method 00144 #define TLSv1_server_method wolfTLSv1_server_method 00145 #define TLSv1_client_method wolfTLSv1_client_method 00146 #define TLSv1_1_method wolfTLSv1_1_method 00147 #define TLSv1_1_server_method wolfTLSv1_1_server_method 00148 #define TLSv1_1_client_method wolfTLSv1_1_client_method 00149 #define TLSv1_2_method wolfTLSv1_2_method 00150 #define TLSv1_2_server_method wolfTLSv1_2_server_method 00151 #define TLSv1_2_client_method wolfTLSv1_2_client_method 00152 00153 #define X509_FILETYPE_ASN1 SSL_FILETYPE_ASN1 00154 00155 #ifdef WOLFSSL_DTLS 00156 #define DTLSv1_client_method wolfDTLSv1_client_method 00157 #define DTLSv1_server_method wolfDTLSv1_server_method 00158 #define DTLSv1_2_client_method wolfDTLSv1_2_client_method 00159 #define DTLSv1_2_server_method wolfDTLSv1_2_server_method 00160 #endif 00161 00162 00163 #ifndef NO_FILESYSTEM 00164 #define SSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file 00165 #define SSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file 00166 #define SSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations 00167 #define SSL_CTX_use_certificate_chain_file wolfSSL_CTX_use_certificate_chain_file 00168 #define SSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file 00169 00170 #define SSL_use_certificate_file wolfSSL_use_certificate_file 00171 #define SSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file 00172 #define SSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file 00173 #define SSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file 00174 #endif 00175 00176 #define SSL_CTX_new wolfSSL_CTX_new 00177 #define SSL_new wolfSSL_new 00178 #define SSL_set_fd wolfSSL_set_fd 00179 #define SSL_get_fd wolfSSL_get_fd 00180 #define SSL_connect wolfSSL_connect 00181 #define SSL_clear wolfSSL_clear 00182 #define SSL_state wolfSSL_state 00183 00184 #define SSL_write wolfSSL_write 00185 #define SSL_read wolfSSL_read 00186 #define SSL_peek wolfSSL_peek 00187 #define SSL_accept wolfSSL_accept 00188 #define SSL_CTX_free wolfSSL_CTX_free 00189 #define SSL_free wolfSSL_free 00190 #define SSL_shutdown wolfSSL_shutdown 00191 00192 #define SSL_CTX_set_quiet_shutdown wolfSSL_CTX_set_quiet_shutdown 00193 #define SSL_set_quiet_shutdown wolfSSL_set_quiet_shutdown 00194 #define SSL_get_error wolfSSL_get_error 00195 #define SSL_set_session wolfSSL_set_session 00196 #define SSL_get_session wolfSSL_get_session 00197 #define SSL_flush_sessions wolfSSL_flush_sessions 00198 /* assume unlimited temporarily */ 00199 #define SSL_CTX_get_session_cache_mode(ctx) 0 00200 00201 #define SSL_CTX_set_verify wolfSSL_CTX_set_verify 00202 #define SSL_set_verify wolfSSL_set_verify 00203 #define SSL_pending wolfSSL_pending 00204 #define SSL_load_error_strings wolfSSL_load_error_strings 00205 #define SSL_library_init wolfSSL_library_init 00206 #define SSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode 00207 #define SSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list 00208 #define SSL_set_cipher_list wolfSSL_set_cipher_list 00209 00210 #define ERR_error_string wolfSSL_ERR_error_string 00211 #define ERR_error_string_n wolfSSL_ERR_error_string_n 00212 #define ERR_reason_error_string wolfSSL_ERR_reason_error_string 00213 00214 #define SSL_set_ex_data wolfSSL_set_ex_data 00215 #define SSL_get_shutdown wolfSSL_get_shutdown 00216 #define SSL_set_rfd wolfSSL_set_rfd 00217 #define SSL_set_wfd wolfSSL_set_wfd 00218 #define SSL_set_shutdown wolfSSL_set_shutdown 00219 #define SSL_set_session_id_context wolfSSL_set_session_id_context 00220 #define SSL_set_connect_state wolfSSL_set_connect_state 00221 #define SSL_set_accept_state wolfSSL_set_accept_state 00222 #define SSL_session_reused wolfSSL_session_reused 00223 #define SSL_SESSION_free wolfSSL_SESSION_free 00224 #define SSL_is_init_finished wolfSSL_is_init_finished 00225 00226 #define SSL_get_version wolfSSL_get_version 00227 #define SSL_get_current_cipher wolfSSL_get_current_cipher 00228 00229 /* use wolfSSL_get_cipher_name for its return format */ 00230 #define SSL_get_cipher wolfSSL_get_cipher_name 00231 #define SSL_CIPHER_description wolfSSL_CIPHER_description 00232 #define SSL_CIPHER_get_name wolfSSL_CIPHER_get_name 00233 #define SSL_get1_session wolfSSL_get1_session 00234 00235 #define SSL_get_keyblock_size wolfSSL_get_keyblock_size 00236 #define SSL_get_keys wolfSSL_get_keys 00237 #define SSL_SESSION_get_master_key wolfSSL_SESSION_get_master_key 00238 #define SSL_SESSION_get_master_key_length wolfSSL_SESSION_get_master_key_length 00239 00240 #define DSA_dup_DH wolfSSL_DSA_dup_DH 00241 00242 #define X509_load_certificate_file wolfSSL_X509_load_certificate_file 00243 #define X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID 00244 #define X509_get_ext_d2i wolfSSL_X509_get_ext_d2i 00245 #define X509_digest wolfSSL_X509_digest 00246 #define X509_free wolfSSL_X509_free 00247 #define X509_new wolfSSL_X509_new 00248 00249 #define OCSP_parse_url wolfSSL_OCSP_parse_url 00250 #define SSLv23_client_method wolfSSLv23_client_method 00251 #define SSLv2_client_method wolfSSLv2_client_method 00252 #define SSLv2_server_method wolfSSLv2_server_method 00253 00254 #define MD4_Init wolfSSL_MD4_Init 00255 #define MD4_Update wolfSSL_MD4_Update 00256 #define MD4_Final wolfSSL_MD4_Final 00257 00258 #define BIO_new wolfSSL_BIO_new 00259 #define BIO_free wolfSSL_BIO_free 00260 #define BIO_free_all wolfSSL_BIO_free_all 00261 #define BIO_nread0 wolfSSL_BIO_nread0 00262 #define BIO_nread wolfSSL_BIO_nread 00263 #define BIO_read wolfSSL_BIO_read 00264 #define BIO_nwrite0 wolfSSL_BIO_nwrite0 00265 #define BIO_nwrite wolfSSL_BIO_nwrite 00266 #define BIO_write wolfSSL_BIO_write 00267 #define BIO_push wolfSSL_BIO_push 00268 #define BIO_pop wolfSSL_BIO_pop 00269 #define BIO_flush wolfSSL_BIO_flush 00270 #define BIO_pending wolfSSL_BIO_pending 00271 00272 #define BIO_get_mem_data wolfSSL_BIO_get_mem_data 00273 #define BIO_new_mem_buf wolfSSL_BIO_new_mem_buf 00274 00275 #define BIO_f_buffer wolfSSL_BIO_f_buffer 00276 #define BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size 00277 #define BIO_f_ssl wolfSSL_BIO_f_ssl 00278 #define BIO_new_socket wolfSSL_BIO_new_socket 00279 #define SSL_set_bio wolfSSL_set_bio 00280 #define BIO_eof wolfSSL_BIO_eof 00281 #define BIO_set_ss wolfSSL_BIO_set_ss 00282 00283 #define BIO_s_mem wolfSSL_BIO_s_mem 00284 #define BIO_f_base64 wolfSSL_BIO_f_base64 00285 #define BIO_set_flags wolfSSL_BIO_set_flags 00286 00287 #define SSLeay_add_ssl_algorithms wolfSSL_add_all_algorithms 00288 #define SSLeay_add_all_algorithms wolfSSL_add_all_algorithms 00289 00290 #define RAND_screen wolfSSL_RAND_screen 00291 #define RAND_file_name wolfSSL_RAND_file_name 00292 #define RAND_write_file wolfSSL_RAND_write_file 00293 #define RAND_load_file wolfSSL_RAND_load_file 00294 #define RAND_egd wolfSSL_RAND_egd 00295 #define RAND_seed wolfSSL_RAND_seed 00296 #define RAND_cleanup wolfSSL_RAND_Cleanup 00297 #define RAND_add wolfSSL_RAND_add 00298 #define RAND_poll wolfSSL_RAND_poll 00299 00300 #define COMP_zlib wolfSSL_COMP_zlib 00301 #define COMP_rle wolfSSL_COMP_rle 00302 #define SSL_COMP_add_compression_method wolfSSL_COMP_add_compression_method 00303 00304 #define SSL_get_ex_new_index wolfSSL_get_ex_new_index 00305 00306 /* depreciated */ 00307 #define CRYPTO_thread_id wolfSSL_thread_id 00308 #define CRYPTO_set_id_callback wolfSSL_set_id_callback 00309 00310 #define CRYPTO_set_locking_callback wolfSSL_set_locking_callback 00311 #define CRYPTO_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback 00312 #define CRYPTO_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback 00313 #define CRYPTO_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback 00314 #define CRYPTO_num_locks wolfSSL_num_locks 00315 00316 00317 #define CRYPTO_LOCK 1 00318 #define CRYPTO_UNLOCK 2 00319 #define CRYPTO_READ 4 00320 #define CRYPTO_WRITE 8 00321 00322 #define X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert 00323 #define X509_STORE_add_cert wolfSSL_X509_STORE_add_cert 00324 #define X509_STORE_add_crl wolfSSL_X509_STORE_add_crl 00325 #define X509_STORE_set_flags wolfSSL_X509_STORE_set_flags 00326 #define X509_STORE_CTX_set_verify_cb wolfSSL_X509_STORE_CTX_set_verify_cb 00327 #define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free 00328 #define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new 00329 #define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain 00330 #define X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error 00331 #define X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth 00332 00333 #define X509_print wolfSSL_X509_print 00334 #define X509_NAME_cmp wolfSSL_X509_NAME_cmp 00335 #define i2d_X509_NAME wolfSSL_i2d_X509_NAME 00336 #define X509_NAME_ENTRY_free wolfSSL_X509_NAME_ENTRY_free 00337 #define X509_NAME_ENTRY_create_by_NID wolfSSL_X509_NAME_ENTRY_create_by_NID 00338 #define X509_NAME_add_entry wolfSSL_X509_NAME_add_entry 00339 #define X509_NAME_oneline wolfSSL_X509_NAME_oneline 00340 #define X509_get_issuer_name wolfSSL_X509_get_issuer_name 00341 #define X509_get_subject_name wolfSSL_X509_get_subject_name 00342 #define X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string 00343 #define X509_verify_cert wolfSSL_X509_verify_cert 00344 00345 #define X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir 00346 #define X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file 00347 #define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir 00348 #define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file 00349 00350 #define X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup 00351 #define X509_STORE_new wolfSSL_X509_STORE_new 00352 #define X509_STORE_free wolfSSL_X509_STORE_free 00353 #define X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject 00354 #define X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init 00355 #define X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup 00356 00357 #define X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate 00358 #define X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate 00359 00360 #define X509_get_pubkey wolfSSL_X509_get_pubkey 00361 #define X509_CRL_verify wolfSSL_X509_CRL_verify 00362 #define X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error 00363 #define X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents 00364 #define d2i_PUBKEY wolfSSL_d2i_PUBKEY 00365 #define X509_cmp_current_time wolfSSL_X509_cmp_current_time 00366 #define sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num 00367 #define X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED 00368 #define sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value 00369 #define X509_get_notBefore(cert) (ASN1_TIME*)wolfSSL_X509_notBefore((cert)) 00370 #define X509_get_notAfter(cert) (ASN1_TIME*)wolfSSL_X509_notAfter((cert)) 00371 00372 00373 #define X509_get_serialNumber wolfSSL_X509_get_serialNumber 00374 00375 #define ASN1_TIME_print wolfSSL_ASN1_TIME_print 00376 #define ASN1_GENERALIZEDTIME_print wolfSSL_ASN1_GENERALIZEDTIME_print 00377 #define ASN1_TIME_adj wolfSSL_ASN1_TIME_adj 00378 #define ASN1_GENERALIZEDTIME_free wolfSSL_ASN1_GENERALIZEDTIME_free 00379 #define ASN1_STRING_print_ex wolfSSL_ASN1_STRING_print_ex 00380 #define ASN1_tag2str wolfSSL_ASN1_tag2str 00381 #define ASN1_TIME_to_generalizedtime wolfSSL_ASN1_TIME_to_generalizedtime 00382 00383 #define ASN1_INTEGER_new wolfSSL_ASN1_INTEGER_new 00384 #define ASN1_INTEGER_free wolfSSL_ASN1_INTEGER_free 00385 #define ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp 00386 #define ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get 00387 #define ASN1_INTEGER_to_BN wolfSSL_ASN1_INTEGER_to_BN 00388 #define ASN1_STRING_to_UTF8 wolfSSL_ASN1_STRING_to_UTF8 00389 00390 #define SSL_load_client_CA_file wolfSSL_load_client_CA_file 00391 00392 #define SSL_CTX_get_client_CA_list wolfSSL_SSL_CTX_get_client_CA_list 00393 #define SSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list 00394 #define SSL_CTX_set_cert_store wolfSSL_CTX_set_cert_store 00395 #define SSL_CTX_get_cert_store wolfSSL_CTX_get_cert_store 00396 #define X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data 00397 #define SSL_get_ex_data_X509_STORE_CTX_idx wolfSSL_get_ex_data_X509_STORE_CTX_idx 00398 #define SSL_get_ex_data wolfSSL_get_ex_data 00399 00400 #define SSL_CTX_set_default_passwd_cb_userdata wolfSSL_CTX_set_default_passwd_cb_userdata 00401 #define SSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb 00402 00403 #define SSL_CTX_set_timeout(ctx, to) wolfSSL_CTX_set_timeout(ctx, (unsigned int) to) 00404 #define SSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback 00405 #define SSL_CTX_set_alpn_protos wolfSSL_CTX_set_alpn_protos 00406 #define ERR_peek_error wolfSSL_ERR_peek_error 00407 #define ERR_peek_last_error_line wolfSSL_ERR_peek_last_error_line 00408 #define ERR_peek_errors_fp wolfSSL_ERR_peek_errors_fp 00409 #define ERR_GET_REASON wolfSSL_ERR_GET_REASON 00410 00411 #define SSL_alert_type_string wolfSSL_alert_type_string 00412 #define SSL_alert_desc_string wolfSSL_alert_desc_string 00413 #define SSL_state_string wolfSSL_state_string 00414 00415 #define RSA_free wolfSSL_RSA_free 00416 #define RSA_generate_key wolfSSL_RSA_generate_key 00417 #define SSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback 00418 00419 #define PEM_def_callback wolfSSL_PEM_def_callback 00420 00421 #define SSL_CTX_sess_accept wolfSSL_CTX_sess_accept 00422 #define SSL_CTX_sess_connect wolfSSL_CTX_sess_connect 00423 #define SSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good 00424 #define SSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good 00425 #define SSL_CTX_sess_accept_renegotiate wolfSSL_CTX_sess_accept_renegotiate 00426 #define SSL_CTX_sess_connect_renegotiate wolfSSL_CTX_sess_connect_renegotiate 00427 #define SSL_CTX_sess_hits wolfSSL_CTX_sess_hits 00428 #define SSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits 00429 #define SSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full 00430 #define SSL_CTX_sess_misses wolfSSL_CTX_sess_misses 00431 #define SSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts 00432 #define SSL_CTX_sess_number wolfSSL_CTX_sess_number 00433 #define SSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size 00434 00435 00436 #define SSL_DEFAULT_CIPHER_LIST WOLFSSL_DEFAULT_CIPHER_LIST 00437 00438 #define SSL_CTX_set_psk_client_callback wolfSSL_CTX_set_psk_client_callback 00439 #define SSL_set_psk_client_callback wolfSSL_set_psk_client_callback 00440 00441 #define SSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint 00442 #define SSL_get_psk_identity wolfSSL_get_psk_identity 00443 00444 #define SSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint 00445 #define SSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint 00446 00447 #define SSL_CTX_set_psk_server_callback wolfSSL_CTX_set_psk_server_callback 00448 #define SSL_set_psk_server_callback wolfSSL_set_psk_server_callback 00449 00450 /* system file ints for ERR_put_error */ 00451 #define SYS_F_ACCEPT WOLFSSL_SYS_ACCEPT 00452 #define SYS_F_BIND WOLFSSL_SYS_BIND 00453 #define SYS_F_CONNECT WOLFSSL_SYS_CONNECT 00454 #define SYS_F_FOPEN WOLFSSL_SYS_FOPEN 00455 #define SYS_F_FREAD WOLFSSL_SYS_FREAD 00456 #define SYS_F_GETADDRINFO WOLFSSL_SYS_GETADDRINFO 00457 #define SYS_F_GETSOCKOPT WOLFSSL_SYS_GETSOCKOPT 00458 #define SYS_F_GETSOCKNAME WOLFSSL_SYS_GETSOCKNAME 00459 #define SYS_F_OPENDIR WOLFSSL_SYS_OPENDIR 00460 #define SYS_F_SETSOCKOPT WOLFSSL_SYS_SETSOCKOPT 00461 #define SYS_F_SOCKET WOLFSSL_SYS_SOCKET 00462 #define SYS_F_GETHOSTBYNAME WOLFSSL_SYS_GETHOSTBYNAME 00463 #define SYS_F_GETNAMEINFO WOLFSSL_SYS_GETNAMEINFO 00464 #define SYS_F_GETSERVBYNAME WOLFSSL_SYS_GETSERVBYNAME 00465 #define SYS_F_IOCTLSOCKET WOLFSSL_SYS_IOCTLSOCKET 00466 #define SYS_F_LISTEN WOLFSSL_SYS_LISTEN 00467 00468 #define ERR_put_error wolfSSL_ERR_put_error 00469 #define ERR_get_error_line wolfSSL_ERR_get_error_line 00470 #define ERR_get_error_line_data wolfSSL_ERR_get_error_line_data 00471 00472 #define ERR_get_error wolfSSL_ERR_get_error 00473 #define ERR_clear_error wolfSSL_ERR_clear_error 00474 00475 #define RAND_status wolfSSL_RAND_status 00476 #define RAND_bytes wolfSSL_RAND_bytes 00477 #define RAND_pseudo_bytes wolfSSL_RAND_pseudo_bytes 00478 #define SSLv23_server_method wolfSSLv23_server_method 00479 #define SSL_CTX_set_options wolfSSL_CTX_set_options 00480 #define SSL_CTX_get_options wolfSSL_CTX_get_options 00481 #define SSL_CTX_clear_options wolfSSL_CTX_clear_options 00482 00483 #define SSL_CTX_check_private_key wolfSSL_CTX_check_private_key 00484 #define SSL_check_private_key wolfSSL_check_private_key 00485 00486 #define ERR_free_strings wolfSSL_ERR_free_strings 00487 #define ERR_remove_state wolfSSL_ERR_remove_state 00488 00489 #define CRYPTO_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data 00490 #define SSL_CTX_set_mode wolfSSL_CTX_set_mode 00491 #define SSL_CTX_get_mode wolfSSL_CTX_get_mode 00492 #define SSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead 00493 00494 #define SSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size 00495 #define SSL_CTX_set_default_verify_paths wolfSSL_CTX_set_default_verify_paths 00496 00497 #define SSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context 00498 #define SSL_get_peer_certificate wolfSSL_get_peer_certificate 00499 #define SSL_get_peer_cert_chain wolfSSL_get_peer_cert_chain 00500 00501 #define SSL_want_read wolfSSL_want_read 00502 #define SSL_want_write wolfSSL_want_write 00503 00504 #define BIO_prf wolfSSL_BIO_prf 00505 #define ASN1_UTCTIME_pr wolfSSL_ASN1_UTCTIME_pr 00506 00507 #define sk_num wolfSSL_sk_num 00508 #define sk_value wolfSSL_sk_value 00509 #define sk_X509_pop wolfSSL_sk_X509_pop 00510 #define sk_X509_free wolfSSL_sk_X509_free 00511 #define i2d_X509_bio wolfSSL_i2d_X509_bio 00512 #define d2i_X509_bio wolfSSL_d2i_X509_bio 00513 #define d2i_X509_fp wolfSSL_d2i_X509_fp 00514 #define i2d_X509 wolfSSL_i2d_X509 00515 #define d2i_X509 wolfSSL_d2i_X509 00516 #define d2i_PKCS12_bio wolfSSL_d2i_PKCS12_bio 00517 #define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp 00518 #define d2i_RSAPublicKey wolfSSL_d2i_RSAPublicKey 00519 #define d2i_RSAPrivateKey wolfSSL_d2i_RSAPrivateKey 00520 #define i2d_RSAPrivateKey wolfSSL_i2d_RSAPrivateKey 00521 #define i2d_RSAPublicKey wolfSSL_i2d_RSAPublicKey 00522 #define d2i_X509_CRL wolfSSL_d2i_X509_CRL 00523 #define d2i_X509_CRL_fp wolfSSL_d2i_X509_CRL_fp 00524 #define X509_CRL_free wolfSSL_X509_CRL_free 00525 00526 #define SSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data 00527 #define SSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data 00528 #define SSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb 00529 #define SSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb 00530 #define SSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb 00531 00532 #define i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION 00533 #define d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION 00534 #define SSL_SESSION_set_timeout wolfSSL_SSL_SESSION_set_timeout 00535 #define SSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout 00536 #define SSL_SESSION_get_time wolfSSL_SESSION_get_time 00537 #define SSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index 00538 #define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 00539 #define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX 00540 #define PEM_read_X509_CRL wolfSSL_PEM_read_X509_CRL 00541 00542 /*#if OPENSSL_API_COMPAT < 0x10100000L*/ 00543 #define CONF_modules_free() 00544 #define ENGINE_cleanup() 00545 #define HMAC_CTX_cleanup wolfSSL_HMAC_cleanup 00546 #define SSL_CTX_need_tmp_RSA(ctx) 0 00547 #define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 00548 #define SSL_need_tmp_RSA(ssl) 0 00549 #define SSL_set_tmp_rsa(ssl,rsa) 1 00550 /*#endif*/ 00551 00552 #define CONF_modules_unload(a) 00553 00554 #define SSL_get_hit wolfSSL_session_reused 00555 00556 /* yassl had set the default to be 500 */ 00557 #define SSL_get_default_timeout(ctx) 500 00558 00559 #define X509_NAME_free wolfSSL_X509_NAME_free 00560 #define X509_NAME_new wolfSSL_X509_NAME_new 00561 00562 typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY; 00563 00564 #define SSL_CTX_use_certificate wolfSSL_CTX_use_certificate 00565 #define SSL_CTX_use_PrivateKey wolfSSL_CTX_use_PrivateKey 00566 #define BIO_read_filename wolfSSL_BIO_read_filename 00567 #define BIO_s_file wolfSSL_BIO_s_file 00568 #define SSL_CTX_set_verify_depth wolfSSL_CTX_set_verify_depth 00569 #define SSL_set_verify_depth wolfSSL_set_verify_depth 00570 #define SSL_get_app_data wolfSSL_get_app_data 00571 #define SSL_set_app_data wolfSSL_set_app_data 00572 #define X509_NAME_entry_count wolfSSL_X509_NAME_entry_count 00573 #define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object 00574 #define X509_NAME_get_entry wolfSSL_X509_NAME_get_entry 00575 #define ASN1_STRING_data wolfSSL_ASN1_STRING_data 00576 #define ASN1_STRING_length wolfSSL_ASN1_STRING_length 00577 #define X509_NAME_get_index_by_NID wolfSSL_X509_NAME_get_index_by_NID 00578 #define X509_NAME_ENTRY_get_data wolfSSL_X509_NAME_ENTRY_get_data 00579 #define sk_X509_NAME_pop_free wolfSSL_sk_X509_NAME_pop_free 00580 #define SHA1 wolfSSL_SHA1 00581 00582 #define X509_check_private_key wolfSSL_X509_check_private_key 00583 #define SSL_dup_CA_list wolfSSL_dup_CA_list 00584 #define X509_check_ca wolfSSL_X509_check_ca 00585 00586 00587 /* NIDs */ 00588 enum { 00589 NID_des = 66, 00590 NID_des3 = 67, 00591 NID_sha256 = 672, 00592 NID_sha384 = 673, 00593 NID_sha512 = 674, 00594 NID_hw_name_oid = 73, 00595 NID_id_pkix_OCSP_basic = 74, 00596 NID_any_policy = 75, 00597 NID_anyExtendedKeyUsage = 76, 00598 }; 00599 00600 enum { 00601 GEN_DNS = 0x02, /* ASN_DNS_TYPE */ 00602 GEN_EMAIL = 0x01, /* ASN_RFC822_TYPE */ 00603 GEN_URI = 0x06 /* ASN_URI_TYPE */ 00604 }; 00605 00606 #define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ 00607 #define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX 00608 00609 #define PEM_read_bio_DHparams wolfSSL_PEM_read_bio_DHparams 00610 #define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams 00611 #define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509 00612 #define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ 00613 #define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX 00614 00615 #if defined(OPENSSL_ALL) || defined(WOLFSSL_HAPROXY) 00616 #define SSL_get_rbio wolfSSL_SSL_get_rbio 00617 #define SSL_get_wbio wolfSSL_SSL_get_wbio 00618 #define SSL_do_handshake wolfSSL_SSL_do_handshake 00619 #define SSL_get_ciphers(x) wolfSSL_get_ciphers_compat(x) 00620 #define SSL_SESSION_get_id wolfSSL_SESSION_get_id 00621 #define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_data 00622 #define SSL_get_cipher_bits(s,np) wolfSSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) 00623 #define sk_SSL_CIPHER_num wolfSSL_sk_SSL_CIPHER_num 00624 #define sk_SSL_COMP_zero wolfSSL_sk_SSL_COMP_zero 00625 #define sk_SSL_CIPHER_value wolfSSL_sk_SSL_CIPHER_value 00626 #endif /* OPENSSL_ALL || WOLFSSL_HAPROXY */ 00627 00628 #if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) 00629 #include <wolfssl/openssl/pem.h > 00630 00631 typedef STACK_OF(WOLFSSL_ASN1_OBJECT) GENERAL_NAMES; 00632 #define SSL_CTRL_CHAIN 88 00633 #define BIO_CTRL_WPENDING 13 00634 #define GEN_IPADD 7 00635 #define ERR_LIB_SSL 20 00636 #define SSL_R_SHORT_READ 10 00637 #define ERR_R_PEM_LIB 9 00638 #define V_ASN1_IA5STRING 22 00639 #define SSL_CTRL_MODE 33 00640 00641 #define SSL_CTX_clear_chain_certs(ctx) SSL_CTX_set0_chain(ctx,NULL) 00642 #define d2i_RSAPrivateKey_bio wolfSSL_d2i_RSAPrivateKey_bio 00643 #define SSL_CTX_use_RSAPrivateKey wolfSSL_CTX_use_RSAPrivateKey 00644 #define d2i_PrivateKey_bio wolfSSL_d2i_PrivateKey_bio 00645 #define ASN1_IA5STRING WOLFSSL_ASN1_STRING 00646 #define ASN1_OCTET_STRING WOLFSSL_ASN1_STRING 00647 #define BIO_new_bio_pair wolfSSL_BIO_new_bio_pair 00648 #define SSL_get_verify_callback wolfSSL_get_verify_callback 00649 #define GENERAL_NAMES_free(GENERAL_NAMES)NULL 00650 00651 #define SSL_set_mode(ssl,op) wolfSSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) 00652 #define BIO_wpending(b) wolfSSL_BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) 00653 #define SSL_CTX_use_certificate_ASN1 wolfSSL_CTX_use_certificate_ASN1 00654 #define SSL_CTX_set0_chain(ctx,sk) \ 00655 wolfSSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) 00656 #define SSL_CTX_get_app_data(ctx) wolfSSL_CTX_get_ex_data(ctx,0) 00657 #define SSL_CTX_set_app_data(ctx,arg) wolfSSL_CTX_set_ex_data(ctx,0, \ 00658 (char *)(arg)) 00659 #endif /* OPENSSL_ALL || WOLFSSL_ASIO */ 00660 00661 #define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh 00662 00663 #define BIO_new_file wolfSSL_BIO_new_file 00664 #define BIO_ctrl wolfSSL_BIO_ctrl 00665 #define BIO_ctrl_pending wolfSSL_BIO_ctrl_pending 00666 #define BIO_get_mem_ptr wolfSSL_BIO_get_mem_ptr 00667 #define BIO_int_ctrl wolfSSL_BIO_int_ctrl 00668 #define BIO_reset wolfSSL_BIO_reset 00669 #define BIO_s_file wolfSSL_BIO_s_file 00670 #define BIO_s_bio wolfSSL_BIO_s_bio 00671 #define BIO_s_socket wolfSSL_BIO_s_socket 00672 #define BIO_set_fd wolfSSL_BIO_set_fd 00673 #define BIO_ctrl_reset_read_request wolfSSL_BIO_ctrl_reset_read_request 00674 00675 #define BIO_set_write_buf_size wolfSSL_BIO_set_write_buf_size 00676 #define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair 00677 00678 #define BIO_set_fp wolfSSL_BIO_set_fp 00679 #define BIO_get_fp wolfSSL_BIO_get_fp 00680 #define BIO_seek wolfSSL_BIO_seek 00681 #define BIO_write_filename wolfSSL_BIO_write_filename 00682 #define BIO_set_mem_eof_return wolfSSL_BIO_set_mem_eof_return 00683 00684 #define TLSEXT_STATUSTYPE_ocsp 1 00685 00686 #define SSL_set_options wolfSSL_set_options 00687 #define SSL_get_options wolfSSL_get_options 00688 #define SSL_clear_options wolfSSL_clear_options 00689 #define SSL_set_tmp_dh wolfSSL_set_tmp_dh 00690 #define SSL_clear_num_renegotiations wolfSSL_clear_num_renegotiations 00691 #define SSL_total_renegotiations wolfSSL_total_renegotiations 00692 #define SSL_set_tlsext_debug_arg wolfSSL_set_tlsext_debug_arg 00693 #define SSL_set_tlsext_status_type wolfSSL_set_tlsext_status_type 00694 #define SSL_set_tlsext_status_exts wolfSSL_set_tlsext_status_exts 00695 #define SSL_get_tlsext_status_ids wolfSSL_get_tlsext_status_ids 00696 #define SSL_set_tlsext_status_ids wolfSSL_set_tlsext_status_ids 00697 #define SSL_get_tlsext_status_ocsp_resp wolfSSL_get_tlsext_status_ocsp_resp 00698 #define SSL_set_tlsext_status_ocsp_resp wolfSSL_set_tlsext_status_ocsp_resp 00699 00700 #define SSL_CTX_add_extra_chain_cert wolfSSL_CTX_add_extra_chain_cert 00701 #define SSL_CTX_get_read_ahead wolfSSL_CTX_get_read_ahead 00702 #define SSL_CTX_set_read_ahead wolfSSL_CTX_set_read_ahead 00703 #define SSL_CTX_set_tlsext_status_arg wolfSSL_CTX_set_tlsext_status_arg 00704 #define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg \ 00705 wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg 00706 #define SSL_get_server_random wolfSSL_get_server_random 00707 00708 #define SSL_get_tlsext_status_exts wolfSSL_get_tlsext_status_exts 00709 00710 #define BIO_C_SET_FILE_PTR 106 00711 #define BIO_C_GET_FILE_PTR 107 00712 #define BIO_C_SET_FILENAME 108 00713 #define BIO_C_FILE_SEEK 128 00714 #define BIO_C_SET_BUF_MEM_EOF_RETURN 130 00715 #define BIO_C_SET_WRITE_BUF_SIZE 136 00716 #define BIO_C_MAKE_BIO_PAIR 138 00717 00718 #define BIO_CTRL_RESET 1 00719 #define BIO_CTRL_INFO 3 00720 #define BIO_CTRL_FLUSH 11 00721 #define BIO_CLOSE 0x01 00722 #define BIO_FP_WRITE 0x04 00723 00724 #define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 00725 #define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 00726 #define SSL_CTRL_SET_TMP_DH 3 00727 #define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 00728 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 00729 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 00730 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 00731 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 00732 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 00733 #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 00734 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 00735 00736 #define SSL_CTRL_SET_TMP_DH 3 00737 #define SSL_CTRL_EXTRA_CHAIN_CERT 14 00738 00739 #define SSL_CTRL_SET_SESS_CACHE_SIZE 42 00740 #define SSL_CTRL_GET_READ_AHEAD 40 00741 #define SSL_CTRL_SET_READ_AHEAD 41 00742 00743 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 00744 #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 00745 00746 #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 00747 00748 #define SSL_ctrl wolfSSL_ctrl 00749 #define SSL_CTX_ctrl wolfSSL_CTX_ctrl 00750 00751 #define X509_V_FLAG_CRL_CHECK WOLFSSL_CRL_CHECK 00752 #define X509_V_FLAG_CRL_CHECK_ALL WOLFSSL_CRL_CHECKALL 00753 00754 #define X509_V_FLAG_USE_CHECK_TIME WOLFSSL_USE_CHECK_TIME 00755 #define X509_V_FLAG_NO_CHECK_TIME WOLFSSL_NO_CHECK_TIME 00756 #define X509_CHECK_FLAG_NO_WILDCARDS WOLFSSL_NO_WILDCARDS 00757 00758 #define SSL3_RANDOM_SIZE 32 /* same as RAN_LEN in internal.h */ 00759 #if defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || defined(OPENSSL_EXTRA) \ 00760 || defined(OPENSSL_ALL) 00761 #include <wolfssl/openssl/asn1.h> 00762 00763 #define SSL2_VERSION 0x0002 00764 #define SSL3_VERSION 0x0300 00765 #define TLS1_VERSION 0x0301 00766 #define DTLS1_VERSION 0xFEFF 00767 #define SSL23_ST_SR_CLNT_HELLO_A (0x210|0x2000) 00768 #define SSL3_ST_SR_CLNT_HELLO_A (0x110|0x2000) 00769 #define ASN1_STRFLGS_ESC_MSB 4 00770 00771 #define SSL_MAX_MASTER_KEY_LENGTH WOLFSSL_MAX_MASTER_KEY_LENGTH 00772 00773 #define SSL_alert_desc_string_long wolfSSL_alert_desc_string_long 00774 #define SSL_alert_type_string_long wolfSSL_alert_type_string_long 00775 #define SSL_CIPHER_get_bits wolfSSL_CIPHER_get_bits 00776 #define sk_X509_NAME_num wolfSSL_sk_X509_NAME_num 00777 #define sk_GENERAL_NAME_num wolfSSL_sk_GENERAL_NAME_num 00778 #define sk_X509_num wolfSSL_sk_X509_num 00779 #define X509_NAME_print_ex wolfSSL_X509_NAME_print_ex 00780 #define X509_get0_pubkey_bitstr wolfSSL_X509_get0_pubkey_bitstr 00781 #define SSL_CTX_get_options wolfSSL_CTX_get_options 00782 00783 #define SSL_CTX_flush_sessions wolfSSL_flush_sessions 00784 #define SSL_CTX_add_session wolfSSL_CTX_add_session 00785 #define SSL_get_SSL_CTX wolfSSL_get_SSL_CTX 00786 #define SSL_version wolfSSL_version 00787 #define SSL_get_state wolfSSL_get_state 00788 #define SSL_state_string_long wolfSSL_state_string_long 00789 00790 #define sk_X509_NAME_value wolfSSL_sk_X509_NAME_value 00791 #define sk_X509_value wolfSSL_sk_X509_value 00792 #define sk_GENERAL_NAME_value wolfSSL_sk_GENERAL_NAME_value 00793 #define SSL_SESSION_get_ex_data wolfSSL_SESSION_get_ex_data 00794 #define SSL_SESSION_set_ex_data wolfSSL_SESSION_set_ex_data 00795 #define SSL_SESSION_get_ex_new_index wolfSSL_SESSION_get_ex_new_index 00796 #define SSL_SESSION_get_id wolfSSL_SESSION_get_id 00797 #define CRYPTO_dynlock_value WOLFSSL_dynlock_value 00798 typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; 00799 #define X509_STORE_get1_certs wolfSSL_X509_STORE_get1_certs 00800 #define sk_X509_pop_free wolfSSL_sk_X509_pop_free 00801 #define sk_GENERAL_NAME_pop_free wolfSSL_sk_GENERAL_NAME_pop_free 00802 #define GENERAL_NAME_free NULL 00803 00804 #define SSL3_AL_FATAL 2 00805 #define SSL_TLSEXT_ERR_OK 0 00806 #define SSL_TLSEXT_ERR_ALERT_FATAL alert_fatal 00807 #define SSL_TLSEXT_ERR_NOACK alert_warning 00808 #define TLSEXT_NAMETYPE_host_name WOLFSSL_SNI_HOST_NAME 00809 00810 #define SSL_set_tlsext_host_name wolfSSL_set_tlsext_host_name 00811 #define SSL_get_servername wolfSSL_get_servername 00812 #define SSL_set_SSL_CTX wolfSSL_set_SSL_CTX 00813 #define SSL_CTX_get_verify_callback wolfSSL_CTX_get_verify_callback 00814 #define SSL_CTX_set_tlsext_servername_callback wolfSSL_CTX_set_tlsext_servername_callback 00815 #define SSL_CTX_set_tlsext_servername_arg wolfSSL_CTX_set_servername_arg 00816 00817 #define PSK_MAX_PSK_LEN 256 00818 #define PSK_MAX_IDENTITY_LEN 128 00819 #define ERR_remove_thread_state wolfSSL_ERR_remove_thread_state 00820 #define SSL_CTX_clear_options wolfSSL_CTX_clear_options 00821 00822 00823 #endif /* HAVE_STUNNEL || WOLFSSL_NGINX */ 00824 #define SSL_CTX_get_default_passwd_cb wolfSSL_CTX_get_default_passwd_cb 00825 #define SSL_CTX_get_default_passwd_cb_userdata wolfSSL_CTX_get_default_passwd_cb_userdata 00826 00827 /* certificate extension NIDs */ 00828 #define NID_basic_constraints 133 00829 #define NID_key_usage 129 /* 2.5.29.15 */ 00830 #define NID_ext_key_usage 151 /* 2.5.29.37 */ 00831 #define NID_subject_key_identifier 128 00832 #define NID_authority_key_identifier 149 00833 #define NID_private_key_usage_period 130 /* 2.5.29.16 */ 00834 #define NID_subject_alt_name 131 00835 #define NID_issuer_alt_name 132 00836 #define NID_info_access 69 00837 #define NID_sinfo_access 79 /* id-pe 11 */ 00838 #define NID_name_constraints 144 /* 2.5.29.30 */ 00839 #define NID_certificate_policies 146 00840 #define NID_policy_mappings 147 00841 #define NID_policy_constraints 150 00842 #define NID_inhibit_any_policy 168 /* 2.5.29.54 */ 00843 #define NID_tlsfeature 92 /* id-pe 24 */ 00844 #define NID_commonName 0x03 /* matchs ASN_COMMON_NAME in asn.h */ 00845 #define NID_domainComponent 0x19 00846 /* matchs ASN_DOMAIN_COMPONENT in asn.h */ 00847 00848 /* matchs ASN_..._NAME in asn.h */ 00849 #define NID_surname 0x04, /* SN */ 00850 #define NID_serialNumber 0x05, /* serialNumber */ 00851 #define NID_countryName 0x06, /* C */ 00852 #define NID_localityName 0x07, /* L */ 00853 #define NID_stateOrProvinceName 0x08, /* ST */ 00854 #define NID_organizationName 0x0a, /* O */ 00855 #define NID_organizationalUnitName 0x0b, /* OU */ 00856 00857 00858 #define SSL_CTX_set_msg_callback wolfSSL_CTX_set_msg_callback 00859 #define SSL_set_msg_callback wolfSSL_set_msg_callback 00860 #define SSL_CTX_set_msg_callback_arg wolfSSL_CTX_set_msg_callback_arg 00861 #define SSL_set_msg_callback_arg wolfSSL_set_msg_callback_arg 00862 00863 00864 /* Nginx uses this to determine if reached end of certs in file. 00865 * PEM_read_bio_X509 is called and the return error is lost. 00866 * The error that needs to be detected is: SSL_NO_PEM_HEADER. 00867 */ 00868 #define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) 00869 #define PEM_R_NO_START_LINE 108 00870 #define ERR_LIB_PEM 9 00871 #define ERR_LIB_X509 10 00872 00873 #if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \ 00874 defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(OPENSSL_ALL) || \ 00875 defined(HAVE_LIGHTY) 00876 00877 #include <wolfssl/error-ssl.h> 00878 00879 #define OPENSSL_STRING WOLFSSL_STRING 00880 00881 #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 00882 00883 #define OPENSSL_NPN_UNSUPPORTED 0 00884 #define OPENSSL_NPN_NEGOTIATED 1 00885 #define OPENSSL_NPN_NO_OVERLAP 2 00886 00887 /* Nginx checks these to see if the error was a handshake error. */ 00888 #define SSL_R_BAD_CHANGE_CIPHER_SPEC LENGTH_ERROR 00889 #define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG BUFFER_E 00890 #define SSL_R_DIGEST_CHECK_FAILED VERIFY_MAC_ERROR 00891 #define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST SUITES_ERROR 00892 #define SSL_R_EXCESSIVE_MESSAGE_SIZE BUFFER_ERROR 00893 #define SSL_R_LENGTH_MISMATCH LENGTH_ERROR 00894 #define SSL_R_NO_CIPHERS_SPECIFIED SUITES_ERROR 00895 #define SSL_R_NO_COMPRESSION_SPECIFIED COMPRESSION_ERROR 00896 #define SSL_R_NO_SHARED_CIPHER MATCH_SUITE_ERROR 00897 #define SSL_R_RECORD_LENGTH_MISMATCH HANDSHAKE_SIZE_ERROR 00898 #define SSL_R_UNEXPECTED_MESSAGE OUT_OF_ORDER_E 00899 #define SSL_R_UNEXPECTED_RECORD SANITY_MSG_E 00900 #define SSL_R_UNKNOWN_ALERT_TYPE BUFFER_ERROR 00901 #define SSL_R_UNKNOWN_PROTOCOL VERSION_ERROR 00902 #define SSL_R_WRONG_VERSION_NUMBER VERSION_ERROR 00903 #define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC ENCRYPT_ERROR 00904 00905 #ifdef HAVE_SESSION_TICKET 00906 #define SSL_OP_NO_TICKET SSL_OP_NO_TICKET 00907 #define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 00908 #endif 00909 00910 #define OPENSSL_config wolfSSL_OPENSSL_config 00911 #define OPENSSL_memdup wolfSSL_OPENSSL_memdup 00912 #define X509_get_ex_new_index wolfSSL_X509_get_ex_new_index 00913 #define X509_get_ex_data wolfSSL_X509_get_ex_data 00914 #define X509_set_ex_data wolfSSL_X509_set_ex_data 00915 #define X509_NAME_digest wolfSSL_X509_NAME_digest 00916 #define SSL_CTX_get_timeout wolfSSL_SSL_CTX_get_timeout 00917 #define SSL_CTX_set_tmp_ecdh wolfSSL_SSL_CTX_set_tmp_ecdh 00918 #define SSL_CTX_remove_session wolfSSL_SSL_CTX_remove_session 00919 #define SSL_get_rbio wolfSSL_SSL_get_rbio 00920 #define SSL_get_wbio wolfSSL_SSL_get_wbio 00921 #define SSL_do_handshake wolfSSL_SSL_do_handshake 00922 #define SSL_in_init wolfSSL_SSL_in_init 00923 #define SSL_get0_session wolfSSL_SSL_get0_session 00924 #define X509_check_host wolfSSL_X509_check_host 00925 #define i2a_ASN1_INTEGER wolfSSL_i2a_ASN1_INTEGER 00926 #define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER 00927 #define ERR_peek_error_line_data wolfSSL_ERR_peek_error_line_data 00928 #define ERR_load_BIO_strings wolfSSL_ERR_load_BIO_strings 00929 #define SSL_CTX_set_tlsext_ticket_key_cb wolfSSL_CTX_set_tlsext_ticket_key_cb 00930 #define X509_email_free wolfSSL_X509_email_free 00931 #define X509_get1_ocsp wolfSSL_X509_get1_ocsp 00932 #define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb 00933 #define X509_check_issued wolfSSL_X509_check_issued 00934 #define X509_dup wolfSSL_X509_dup 00935 #define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new 00936 #define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free 00937 #define SSL_CTX_get_extra_chain_certs wolfSSL_CTX_get_extra_chain_certs 00938 #define X509_STORE_CTX_get1_issuer wolfSSL_X509_STORE_CTX_get1_issuer 00939 #define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value 00940 #define SSL_get0_alpn_selected wolfSSL_get0_alpn_selected 00941 #define SSL_select_next_proto wolfSSL_select_next_proto 00942 #define SSL_CTX_set_alpn_select_cb wolfSSL_CTX_set_alpn_select_cb 00943 #define SSL_CTX_set_next_protos_advertised_cb wolfSSL_CTX_set_next_protos_advertised_cb 00944 #define SSL_CTX_set_next_proto_select_cb wolfSSL_CTX_set_next_proto_select_cb 00945 #define SSL_get0_next_proto_negotiated wolfSSL_get0_next_proto_negotiated 00946 #define SSL_is_server wolfSSL_is_server 00947 #define SSL_CTX_set1_curves_list wolfSSL_CTX_set1_curves_list 00948 00949 #endif /* WOLFSSL_NGINX || WOLFSSL_HAPROXY || WOLFSSL_MYSQL_COMPATIBLE || 00950 OPENSSL_ALL || HAVE_LIGHTY */ 00951 00952 #define X509_STORE_CTX_set_time wolfSSL_X509_STORE_CTX_set_time 00953 #define SSL_CTX_add_client_CA wolfSSL_CTX_add_client_CA 00954 #define SSL_CTX_set_srp_password wolfSSL_CTX_set_srp_password 00955 #define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username 00956 00957 #ifdef __cplusplus 00958 } /* extern "C" */ 00959 #endif 00960 00961 #endif /* wolfSSL_openssl_h__ */ 00962
Generated on Wed Jul 13 2022 01:38:47 by 1.7.2