My Project
ssl.h
Go to the documentation of this file.
1 
21 WOLFSSL_METHOD *wolfDTLSv1_2_client_method_ex(void* heap);
22 
46 WOLFSSL_METHOD *wolfSSLv23_method(void);
47 
90 WOLFSSL_METHOD *wolfSSLv3_server_method(void);
91 
133 WOLFSSL_METHOD *wolfSSLv3_client_method(void);
134 
176 WOLFSSL_METHOD *wolfTLSv1_server_method(void);
177 
219 WOLFSSL_METHOD *wolfTLSv1_client_method(void);
220 
262 WOLFSSL_METHOD *wolfTLSv1_1_server_method(void);
263 
305 WOLFSSL_METHOD *wolfTLSv1_1_client_method(void);
306 
348 WOLFSSL_METHOD *wolfTLSv1_2_server_method(void);
349 
391 WOLFSSL_METHOD *wolfTLSv1_2_client_method(void);
392 
434 WOLFSSL_METHOD *wolfDTLSv1_client_method(void);
435 
477 WOLFSSL_METHOD *wolfDTLSv1_server_method(void);
478 
496 WOLFSSL_METHOD *wolfDTLSv1_2_server_method(void);
497 
528 int wolfSSL_use_old_poly(WOLFSSL* ssl, int value);
529 
568 int wolfSSL_dtls_import(WOLFSSL* ssl, unsigned char* buf,
569  unsigned int sz);
570 
571 
589 int wolfSSL_tls_import(WOLFSSL* ssl, const unsigned char* buf,
590  unsigned int sz);
591 
628 int wolfSSL_CTX_dtls_set_export(WOLFSSL_CTX* ctx,
629  wc_dtls_export func);
630 
664 int wolfSSL_dtls_set_export(WOLFSSL* ssl, wc_dtls_export func);
665 
701 int wolfSSL_dtls_export(WOLFSSL* ssl, unsigned char* buf,
702  unsigned int* sz);
703 
723 int wolfSSL_tls_export(WOLFSSL* ssl, unsigned char* buf,
724  unsigned int* sz);
725 
785 int wolfSSL_CTX_load_static_memory(WOLFSSL_CTX** ctx,
786  wolfSSL_method_func method,
787  unsigned char* buf, unsigned int sz,
788  int flag, int max);
789 
823 int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX* ctx,
824  WOLFSSL_MEM_STATS* mem_stats);
825 
856 int wolfSSL_is_static_memory(WOLFSSL* ssl,
857  WOLFSSL_MEM_CONN_STATS* mem_stats);
858 
899 int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX* ctx, const char* file,
900  int format);
901 
946 int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX* ctx, const char* file, int format);
947 
1010 int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX* ctx, const char* file,
1011  const char* format);
1012 
1075 int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX* ctx, const char* file,
1076  const char* path, unsigned int flags);
1077 
1126 int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX* ctx, const char* file, int type);
1127 
1166 int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *ctx,
1167  const char *file);
1168 
1213 int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX* ctx, const char* file, int format);
1214 
1243 long wolfSSL_get_verify_depth(WOLFSSL* ssl);
1244 
1275 long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX* ctx);
1276 
1315 int wolfSSL_use_certificate_file(WOLFSSL* ssl, const char* file, int format);
1316 
1365 int wolfSSL_use_PrivateKey_file(WOLFSSL* ssl, const char* file, int format);
1366 
1404 int wolfSSL_use_certificate_chain_file(WOLFSSL* ssl, const char *file);
1405 
1450 int wolfSSL_use_RSAPrivateKey_file(WOLFSSL* ssl, const char* file, int format);
1451 
1497 int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX* ctx,
1498  const char* file, int format);
1499 
1532 WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*);
1533 
1566 WOLFSSL* wolfSSL_new(WOLFSSL_CTX*);
1567 
1598 int wolfSSL_set_fd (WOLFSSL* ssl, int fd);
1599 
1618 char* wolfSSL_get_cipher_list(int priority);
1619 
1650 int wolfSSL_get_ciphers(char* buf, int len);
1651 
1683 const char* wolfSSL_get_cipher_name(WOLFSSL* ssl);
1684 
1708 int wolfSSL_get_fd(const WOLFSSL*);
1709 
1737 void wolfSSL_set_using_nonblock(WOLFSSL* ssl, int nonblock);
1738 
1769 int wolfSSL_get_using_nonblock(WOLFSSL*);
1770 
1819 int wolfSSL_write(WOLFSSL* ssl, const void* data, int sz);
1820 
1877 int wolfSSL_read(WOLFSSL* ssl, void* data, int sz);
1878 
1931 int wolfSSL_peek(WOLFSSL* ssl, void* data, int sz);
1932 
1975 int wolfSSL_accept(WOLFSSL*);
1976 
1999 void wolfSSL_CTX_free(WOLFSSL_CTX*);
2000 
2023 void wolfSSL_free(WOLFSSL*);
2024 
2069 int wolfSSL_shutdown(WOLFSSL*);
2070 
2120 int wolfSSL_send(WOLFSSL* ssl, const void* data, int sz, int flags);
2121 
2180 int wolfSSL_recv(WOLFSSL* ssl, void* data, int sz, int flags);
2181 
2224 int wolfSSL_get_error(WOLFSSL* ssl, int ret);
2225 
2251 int wolfSSL_get_alert_history(WOLFSSL* ssl, WOLFSSL_ALERT_HISTORY *h);
2252 
2300 int wolfSSL_set_session(WOLFSSL* ssl, WOLFSSL_SESSION* session);
2301 
2342 WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl);
2343 
2370 void wolfSSL_flush_sessions(WOLFSSL_CTX* ctx, long tm);
2371 
2406 int wolfSSL_SetServerID(WOLFSSL* ssl, const unsigned char* id,
2407  int len, int newSession);
2408 
2433 int wolfSSL_GetSessionIndex(WOLFSSL* ssl);
2434 
2464 int wolfSSL_GetSessionAtIndex(int index, WOLFSSL_SESSION* session);
2465 
2492  WOLFSSL_X509_CHAIN* wolfSSL_SESSION_get_peer_chain(WOLFSSL_SESSION* session);
2493 
2539 void wolfSSL_CTX_set_verify(WOLFSSL_CTX* ctx, int mode,
2540  VerifyCallback verify_callback);
2541 
2586 void wolfSSL_set_verify(WOLFSSL* ssl, int mode, VerifyCallback verify_callback);
2587 
2616 void wolfSSL_SetCertCbCtx(WOLFSSL* ssl, void* ctx);
2617 
2645 void wolfSSL_CTX_SetCertCbCtx(WOLFSSL_CTX* ctx, void* userCtx);
2646 
2671 int wolfSSL_pending(WOLFSSL*);
2672 
2694 void wolfSSL_load_error_strings(void);
2695 
2723 int wolfSSL_library_init(void);
2724 
2746 int wolfSSL_SetDevId(WOLFSSL* ssl, int devId);
2747 
2769 int wolfSSL_CTX_SetDevId(WOLFSSL_CTX* ctx, int devId);
2770 
2792 int wolfSSL_CTX_GetDevId(WOLFSSL_CTX* ctx, WOLFSSL* ssl);
2793 
2825 long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX* ctx, long mode);
2826 
2856 int wolfSSL_set_session_secret_cb(WOLFSSL* ssl, SessionSecretCb cb, void* ctx);
2857 
2886 int wolfSSL_save_session_cache(const char*);
2887 
2916 int wolfSSL_restore_session_cache(const char*);
2917 
2945 int wolfSSL_memsave_session_cache(void* mem, int sz);
2946 
2974 int wolfSSL_memrestore_session_cache(const void* mem, int sz);
2975 
2999 
3029 int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX* ctx, const char* fname);
3030 
3062 int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX* ctx, const char* fname);
3063 
3100 int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX* ctx, void* mem, int sz, int* used);
3101 
3136 int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX* ctx, const void* mem, int sz);
3137 
3164 int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX*);
3165 
3203 int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX* ctx, const char* list);
3204 
3242 int wolfSSL_set_cipher_list(WOLFSSL* ssl, const char* list);
3243 
3269 void wolfSSL_dtls_set_using_nonblock(WOLFSSL* ssl, int nonblock);
3301 int wolfSSL_dtls_get_using_nonblock(WOLFSSL*);
3328 int wolfSSL_dtls_get_current_timeout(WOLFSSL* ssl);
3349 int wolfSSL_dtls13_use_quick_timeout(WOLFSSL *ssl);
3369 void wolfSSL_dtls13_set_send_more_acks(WOLFSSL *ssl, int value);
3370 
3402 int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int);
3403 
3430 int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int);
3431 
3459 int wolfSSL_dtls_got_timeout(WOLFSSL* ssl);
3460 
3485 int wolfSSL_dtls_retransmit(WOLFSSL* ssl);
3486 
3513 int wolfSSL_dtls(WOLFSSL* ssl);
3514 
3545 int wolfSSL_dtls_set_peer(WOLFSSL* ssl, void* peer, unsigned int peerSz);
3546 
3582 int wolfSSL_dtls_get_peer(WOLFSSL* ssl, void* peer, unsigned int* peerSz);
3583 
3619 char* wolfSSL_ERR_error_string(unsigned long,char*);
3620 
3652 void wolfSSL_ERR_error_string_n(unsigned long e, char* buf,
3653  unsigned long sz);
3654 
3689 int wolfSSL_get_shutdown(const WOLFSSL*);
3690 
3716 int wolfSSL_session_reused(WOLFSSL*);
3717 
3746 int wolfSSL_is_init_finished(WOLFSSL*);
3747 
3778 const char* wolfSSL_get_version(WOLFSSL*);
3779 
3810 int wolfSSL_get_current_cipher_suite(WOLFSSL* ssl);
3811 
3842 WOLFSSL_CIPHER* wolfSSL_get_current_cipher(WOLFSSL*);
3843 
3876 const char* wolfSSL_CIPHER_get_name(const WOLFSSL_CIPHER* cipher);
3877 
3905 const char* wolfSSL_get_cipher(WOLFSSL*);
3906 
3950 WOLFSSL_SESSION* wolfSSL_get1_session(WOLFSSL* ssl);
3951 
3998 WOLFSSL_METHOD* wolfSSLv23_client_method(void);
3999 
4027 int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO* bio,void* p);
4028 
4051 long wolfSSL_BIO_set_fd(WOLFSSL_BIO* b, int fd, int flag);
4052 
4074 int wolfSSL_BIO_set_close(WOLFSSL_BIO *b, long flag);
4075 
4095 WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_socket(void);
4096 
4124 int wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size);
4125 
4158 int wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2);
4159 
4182 int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b);
4183 
4211 int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf);
4212 
4245 int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num);
4246 
4279 int wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num);
4280 
4303 int wolfSSL_BIO_reset(WOLFSSL_BIO *bio);
4304 
4334 int wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs);
4335 
4362 int wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name);
4363 
4389 long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v);
4390 
4417 long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *bio, WOLFSSL_BUF_MEM **m);
4418 
4450 char* wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME* name, char* in, int sz);
4451 
4482 WOLFSSL_X509_NAME* wolfSSL_X509_get_issuer_name(WOLFSSL_X509*);
4483 
4511 WOLFSSL_X509_NAME* wolfSSL_X509_get_subject_name(WOLFSSL_X509*);
4512 
4542 int wolfSSL_X509_get_isCA(WOLFSSL_X509*);
4543 
4571 int wolfSSL_X509_NAME_get_text_by_NID(WOLFSSL_X509_NAME* name, int nid,
4572  char* buf, int len);
4573 
4606 int wolfSSL_X509_get_signature_type(WOLFSSL_X509*);
4607 
4631 void wolfSSL_X509_free(WOLFSSL_X509* x509);
4632 
4666 int wolfSSL_X509_get_signature(WOLFSSL_X509* x509, unsigned char* buf, int* bufSz);
4667 
4690 int wolfSSL_X509_STORE_add_cert(WOLFSSL_X509_STORE* store, WOLFSSL_X509* x509);
4691 
4714 WOLFSSL_STACK* wolfSSL_X509_STORE_CTX_get_chain(
4715  WOLFSSL_X509_STORE_CTX* ctx);
4716 
4744 int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE* store,
4745  unsigned long flag);
4746 
4776 const byte* wolfSSL_X509_notBefore(WOLFSSL_X509* x509);
4777 
4806 const byte* wolfSSL_X509_notAfter(WOLFSSL_X509* x509);
4807 
4838 WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai,
4839  WOLFSSL_BIGNUM *bn);
4840 
4866 long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509);
4867 
4892 int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX*);
4893 
4918 int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX* ctx, int v);
4919 
4945 long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX* ctx, void* arg);
4946 
4973  WOLFSSL_CTX* ctx, void* arg);
4974 
5010 long wolfSSL_set_options(WOLFSSL *s, long op);
5011 
5033 long wolfSSL_get_options(const WOLFSSL *s);
5034 
5059 long wolfSSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg);
5060 
5093 long wolfSSL_set_tlsext_status_type(WOLFSSL *s, int type);
5094 
5118 long wolfSSL_get_verify_result(const WOLFSSL *ssl);
5119 
5149 void wolfSSL_ERR_print_errors_fp(XFILE fp, int err);
5150 
5178  int (*cb)(const char *str, size_t len, void *u), void *u);
5179 
5217 void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX* ctx,
5218  wc_psk_client_callback);
5219 
5256 void wolfSSL_set_psk_client_callback(WOLFSSL* ssl,
5257  wc_psk_client_callback);
5258 
5286 const char* wolfSSL_get_psk_identity_hint(const WOLFSSL*);
5287 
5317 const char* wolfSSL_get_psk_identity(const WOLFSSL*);
5318 
5349 int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX* ctx, const char* hint);
5350 
5377 int wolfSSL_use_psk_identity_hint(WOLFSSL* ssl, const char* hint);
5378 
5419 void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX* ctx,
5420  wc_psk_server_callback cb);
5421 
5463 void wolfSSL_set_psk_server_callback(WOLFSSL* ssl,
5464  wc_psk_server_callback cb);
5465 
5466 
5479 int wolfSSL_set_psk_callback_ctx(WOLFSSL* ssl, void* psk_ctx);
5480 
5493 int wolfSSL_CTX_set_psk_callback_ctx(WOLFSSL_CTX* ctx, void* psk_ctx);
5494 
5506 void* wolfSSL_get_psk_callback_ctx(WOLFSSL* ssl);
5507 
5519 void* wolfSSL_CTX_get_psk_callback_ctx(WOLFSSL_CTX* ctx);
5520 
5551 int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX*);
5552 
5592 WOLFSSL_METHOD *wolfSSLv23_server_method(void);
5593 
5616 int wolfSSL_state(WOLFSSL* ssl);
5617 
5645 WOLFSSL_X509* wolfSSL_get_peer_certificate(WOLFSSL* ssl);
5646 
5675 int wolfSSL_want_read(WOLFSSL*);
5676 
5705 int wolfSSL_want_write(WOLFSSL*);
5706 
5737 int wolfSSL_check_domain_name(WOLFSSL* ssl, const char* dn);
5738 
5761 int wolfSSL_Init(void);
5762 
5779 int wolfSSL_Cleanup(void);
5780 
5803 const char* wolfSSL_lib_version(void);
5804 
5830 word32 wolfSSL_lib_version_hex(void);
5831 
5863 int wolfSSL_negotiate(WOLFSSL* ssl);
5864 
5896 int wolfSSL_set_compression(WOLFSSL* ssl);
5897 
5925 int wolfSSL_set_timeout(WOLFSSL* ssl, unsigned int to);
5926 
5956 int wolfSSL_CTX_set_timeout(WOLFSSL_CTX* ctx, unsigned int to);
5957 
5980 WOLFSSL_X509_CHAIN* wolfSSL_get_peer_chain(WOLFSSL* ssl);
5981 
6004 int wolfSSL_get_chain_count(WOLFSSL_X509_CHAIN* chain);
6005 
6030 int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN* chain, int idx);
6031 
6055 unsigned char* wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN* chain, int idx);
6056 
6088 WOLFSSL_X509* wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN* chain, int idx);
6089 
6113 int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN* chain, int idx,
6114  unsigned char* buf, int inLen, int* outLen);
6115 
6132 const unsigned char* wolfSSL_get_sessionID(const WOLFSSL_SESSION* s);
6133 
6157 int wolfSSL_X509_get_serial_number(WOLFSSL_X509* x509, unsigned char* in,
6158  int* inOutSz);
6159 
6191 char* wolfSSL_X509_get_subjectCN(WOLFSSL_X509*);
6192 
6225 const unsigned char* wolfSSL_X509_get_der(WOLFSSL_X509* x509, int* outSz);
6226 
6252 WOLFSSL_ASN1_TIME* wolfSSL_X509_get_notAfter(WOLFSSL_X509*);
6253 
6280 int wolfSSL_X509_version(WOLFSSL_X509*);
6281 
6313 WOLFSSL_X509*
6314  wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, FILE* file);
6315 
6343 WOLFSSL_X509*
6344  wolfSSL_X509_load_certificate_file(const char* fname, int format);
6345 
6381 unsigned char*
6382  wolfSSL_X509_get_device_type(WOLFSSL_X509* x509, unsigned char* in,
6383  int* inOutSz);
6384 
6416 unsigned char*
6417  wolfSSL_X509_get_hw_type(WOLFSSL_X509* x509, unsigned char* in,
6418  int* inOutSz);
6419 
6453 unsigned char*
6454  wolfSSL_X509_get_hw_serial_number(WOLFSSL_X509* x509,
6455  unsigned char* in, int* inOutSz);
6456 
6501 int wolfSSL_connect_cert(WOLFSSL* ssl);
6502 
6537 WC_PKCS12* wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO* bio,
6538  WC_PKCS12** pkcs12);
6539 
6576 WC_PKCS12* wolfSSL_i2d_PKCS12_bio(WOLFSSL_BIO* bio,
6577  WC_PKCS12* pkcs12);
6578 
6629 int wolfSSL_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw,
6630  WOLFSSL_EVP_PKEY** pkey, WOLFSSL_X509** cert, WOLF_STACK_OF(WOLFSSL_X509)** ca);
6631 
6661 int wolfSSL_SetTmpDH(WOLFSSL* ssl, const unsigned char* p, int pSz,
6662  const unsigned char* g, int gSz);
6663 
6712 int wolfSSL_SetTmpDH_buffer(WOLFSSL* ssl, const unsigned char* b, long sz,
6713  int format);
6714 
6756 int wolfSSL_SetTmpDH_file(WOLFSSL* ssl, const char* f, int format);
6757 
6802 int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX* ctx, const unsigned char* p,
6803  int pSz, const unsigned char* g, int gSz);
6804 
6847 int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX* ctx, const unsigned char* b,
6848  long sz, int format);
6849 
6905 int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX* ctx, const char* f,
6906  int format);
6907 
6935 int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX* ctx, word16);
6936 
6964 int wolfSSL_SetMinDhKey_Sz(WOLFSSL* ssl, word16 keySz_bits);
6965 
6993 int wolfSSL_CTX_SetMaxDhKey_Sz(WOLFSSL_CTX* ctx, word16 keySz_bits);
6994 
7021 int wolfSSL_SetMaxDhKey_Sz(WOLFSSL* ssl, word16 keySz_bits);
7022 
7057 int wolfSSL_GetDhKey_Sz(WOLFSSL*);
7058 
7088 int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX* ctx, short keySz);
7089 
7117 int wolfSSL_SetMinRsaKey_Sz(WOLFSSL* ssl, short keySz);
7118 
7147 int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX* ssl, short keySz);
7148 
7179 int wolfSSL_SetMinEccKey_Sz(WOLFSSL* ssl, short keySz);
7180 
7212 int wolfSSL_make_eap_keys(WOLFSSL* ssl, void* key, unsigned int len,
7213  const char* label);
7214 
7256 int wolfSSL_writev(WOLFSSL* ssl, const struct iovec* iov,
7257  int iovcnt);
7258 
7289 int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX*);
7290 
7321 int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX*);
7322 
7373 int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX* ctx, const unsigned char* in,
7374  long sz, int format);
7375 
7425 int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX* ctx, const unsigned char* in,
7426  long sz, int format);
7427 
7428 
7485 int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX* ctx,
7486  const unsigned char* in, long sz,
7487  int format, int userChain, word32 flags);
7488 
7539 int wolfSSL_CTX_load_verify_chain_buffer_format(WOLFSSL_CTX* ctx,
7540  const unsigned char* in,
7541  long sz, int format);
7542 
7587 int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX* ctx,
7588  const unsigned char* in, long sz,
7589  int format);
7590 
7637 int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx,
7638  const unsigned char* in, long sz,
7639  int format);
7640 
7686 int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX* ctx,
7687  const unsigned char* in, long sz);
7688 
7733 int wolfSSL_use_certificate_buffer(WOLFSSL* ssl, const unsigned char* in,
7734  long sz, int format);
7735 
7782 int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in,
7783  long sz, int format);
7784 
7828 int wolfSSL_use_certificate_chain_buffer(WOLFSSL* ssl,
7829  const unsigned char* in, long sz);
7830 
7853 int wolfSSL_UnloadCertsKeys(WOLFSSL*);
7854 
7878 int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX*);
7879 
7903 int wolfSSL_set_group_messages(WOLFSSL*);
7904 
7933 void wolfSSL_SetFuzzerCb(WOLFSSL* ssl, CallbackFuzzer cbf, void* fCtx);
7934 
7966 int wolfSSL_DTLS_SetCookieSecret(WOLFSSL* ssl,
7967  const unsigned char* secret,
7968  unsigned int secretSz);
7969 
7989 WC_RNG* wolfSSL_GetRNG(WOLFSSL* ssl);
7990 
8022 int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX* ctx, int version);
8023 
8054 int wolfSSL_SetMinVersion(WOLFSSL* ssl, int version);
8055 
8075 int wolfSSL_GetObjectSize(void); /* object size based on build */
8098 int wolfSSL_GetOutputSize(WOLFSSL* ssl, int inSz);
8099 
8122 int wolfSSL_GetMaxOutputSize(WOLFSSL*);
8123 
8155 int wolfSSL_SetVersion(WOLFSSL* ssl, int version);
8156 
8182 void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX* ctx, CallbackMacEncrypti cb);
8183 
8200 void wolfSSL_SetMacEncryptCtx(WOLFSSL* ssl, void *ctx);
8201 
8221 void* wolfSSL_GetMacEncryptCtx(WOLFSSL* ssl);
8222 
8247 void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX* ctx,
8248  CallbackDecryptVerify cb);
8249 
8266 void wolfSSL_SetDecryptVerifyCtx(WOLFSSL* ssl, void *ctx);
8267 
8287 void* wolfSSL_GetDecryptVerifyCtx(WOLFSSL* ssl);
8288 
8308 const unsigned char* wolfSSL_GetMacSecret(WOLFSSL* ssl, int verify);
8309 
8327 const unsigned char* wolfSSL_GetClientWriteKey(WOLFSSL*);
8328 
8347 const unsigned char* wolfSSL_GetClientWriteIV(WOLFSSL*);
8348 
8366 const unsigned char* wolfSSL_GetServerWriteKey(WOLFSSL*);
8367 
8381 const unsigned char* wolfSSL_GetServerWriteIV(WOLFSSL*);
8382 
8399 int wolfSSL_GetKeySize(WOLFSSL*);
8400 
8429 int wolfSSL_GetIVSize(WOLFSSL*);
8430 
8449 int wolfSSL_GetSide(WOLFSSL*);
8450 
8468 int wolfSSL_IsTLSv1_1(WOLFSSL*);
8469 
8489 int wolfSSL_GetBulkCipher(WOLFSSL*);
8490 
8509 int wolfSSL_GetCipherBlockSize(WOLFSSL*);
8510 
8529 int wolfSSL_GetAeadMacSize(WOLFSSL*);
8530 
8549 int wolfSSL_GetHmacSize(WOLFSSL*);
8550 
8570 int wolfSSL_GetHmacType(WOLFSSL*);
8571 
8590 int wolfSSL_GetCipherType(WOLFSSL*);
8591 
8613 int wolfSSL_SetTlsHmacInner(WOLFSSL* ssl, byte* inner,
8614  word32 sz, int content, int verify);
8615 
8640 void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX* ctx, CallbackEccSign cb);
8641 
8659 void wolfSSL_SetEccSignCtx(WOLFSSL* ssl, void *ctx);
8660 
8679 void* wolfSSL_GetEccSignCtx(WOLFSSL* ssl);
8680 
8699 void wolfSSL_CTX_SetEccSignCtx(WOLFSSL_CTX* ctx, void *userCtx);
8700 
8720 void* wolfSSL_CTX_GetEccSignCtx(WOLFSSL_CTX* ctx);
8721 
8746 void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX* ctx, CallbackEccVerify cb);
8747 
8764 void wolfSSL_SetEccVerifyCtx(WOLFSSL* ssl, void *ctx);
8765 
8784 void* wolfSSL_GetEccVerifyCtx(WOLFSSL* ssl);
8785 
8810 void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX* ctx, CallbackRsaSign cb);
8811 
8828 void wolfSSL_SetRsaSignCtx(WOLFSSL* ssl, void *ctx);
8829 
8849 void* wolfSSL_GetRsaSignCtx(WOLFSSL* ssl);
8850 
8868 void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX* ctx, CallbackRsaVerify cb);
8869 
8886 void wolfSSL_SetRsaVerifyCtx(WOLFSSL* ssl, void *ctx);
8887 
8906 void* wolfSSL_GetRsaVerifyCtx(WOLFSSL* ssl);
8907 
8932 void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX* ctx, CallbackRsaEnc cb);
8933 
8950 void wolfSSL_SetRsaEncCtx(WOLFSSL* ssl, void *ctx);
8951 
8970 void* wolfSSL_GetRsaEncCtx(WOLFSSL* ssl);
8971 
8995 void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX* ctx, CallbackRsaDec cb);
8996 
9013 void wolfSSL_SetRsaDecCtx(WOLFSSL* ssl, void *ctx);
9014 
9033 void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl);
9034 
9067 void wolfSSL_CTX_SetCACb(WOLFSSL_CTX* ctx, CallbackCACache cb);
9068 
9083 WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew_ex(void* heap);
9084 
9110 WOLFSSL_CERT_MANAGER* wolfSSL_CertManagerNew(void);
9111 
9133 void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER*);
9134 
9175 int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER* cm, const char* f,
9176  const char* d);
9177 
9212 int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm,
9213  const unsigned char* in, long sz, int format);
9214 
9241 int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER* cm);
9242 
9270 int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER* cm);
9271 
9321 int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER* cm, const char* f,
9322  int format);
9323 
9377 int wolfSSL_CertManagerVerifyBuffer(WOLFSSL_CERT_MANAGER* cm,
9378  const unsigned char* buff, long sz, int format);
9379 
9409 void wolfSSL_CertManagerSetVerify(WOLFSSL_CERT_MANAGER* cm,
9410  VerifyCallback vc);
9411 
9441 int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER* cm,
9442  unsigned char* der, int sz);
9443 
9483 int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER* cm,
9484  int options);
9485 
9517 int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER*);
9518 
9551 int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER* cm,
9552  const char* path, int type, int monitor);
9553 
9588 int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER* cm,
9589  const unsigned char* buff, long sz,
9590  int type);
9591 
9629 int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER* cm,
9630  CbMissingCRL cb);
9631 
9665 int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER* cm,
9666  unsigned char* der, int sz);
9667 
9700 int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER* cm,
9701  int options);
9702 
9727 int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER*);
9728 
9757 int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER* cm,
9758  const char* url);
9759 
9791 int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER* cm,
9792  CbOCSPIO ioCb, CbOCSPRespFree respFreeCb,
9793  void* ioCbCtx);
9794 
9824  WOLFSSL_CERT_MANAGER* cm);
9825 
9853 int wolfSSL_EnableCRL(WOLFSSL* ssl, int options);
9854 
9877 int wolfSSL_DisableCRL(WOLFSSL* ssl);
9878 
9911 int wolfSSL_LoadCRL(WOLFSSL* ssl, const char* path, int type, int monitor);
9912 
9943 int wolfSSL_SetCRL_Cb(WOLFSSL* ssl, CbMissingCRL cb);
9944 
9975 int wolfSSL_EnableOCSP(WOLFSSL* ssl, int options);
9976 
9998 int wolfSSL_DisableOCSP(WOLFSSL*);
9999 
10027 int wolfSSL_SetOCSP_OverrideURL(WOLFSSL* ssl, const char* url);
10028 
10071 int wolfSSL_SetOCSP_Cb(WOLFSSL* ssl, CbOCSPIO ioCb, CbOCSPRespFree respFreeCb,
10072  void* ioCbCtx);
10073 
10103 int wolfSSL_CTX_EnableCRL(WOLFSSL_CTX* ctx, int options);
10104 
10128 int wolfSSL_CTX_DisableCRL(WOLFSSL_CTX* ctx);
10129 
10159 int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX* ctx, const char* path, int type, int monitor);
10160 
10195 int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX* ctx, CbMissingCRL cb);
10196 
10224 int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX* ctx, int options);
10225 
10250 int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX*);
10251 
10274 int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX* ctx, const char* url);
10275 
10311 int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX* ctx,
10312  CbOCSPIO ioCb, CbOCSPRespFree respFreeCb,
10313  void* ioCbCtx);
10314 
10345 int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX*);
10346 
10371 void wolfSSL_KeepArrays(WOLFSSL*);
10372 
10396 void wolfSSL_FreeArrays(WOLFSSL*);
10397 
10439 int wolfSSL_UseSNI(WOLFSSL* ssl, unsigned char type,
10440  const void* data, unsigned short size);
10441 
10478 int wolfSSL_CTX_UseSNI(WOLFSSL_CTX* ctx, unsigned char type,
10479  const void* data, unsigned short size);
10480 
10527 void wolfSSL_SNI_SetOptions(WOLFSSL* ssl, unsigned char type,
10528  unsigned char options);
10529 
10572 void wolfSSL_CTX_SNI_SetOptions(WOLFSSL_CTX* ctx,
10573  unsigned char type, unsigned char options);
10574 
10614  const unsigned char* clientHello, unsigned int helloSz,
10615  unsigned char type, unsigned char* sni, unsigned int* inOutSz);
10616 
10646 unsigned char wolfSSL_SNI_Status(WOLFSSL* ssl, unsigned char type);
10647 
10685 unsigned short wolfSSL_SNI_GetRequest(WOLFSSL *ssl,
10686  unsigned char type, void** data);
10687 
10727 int wolfSSL_UseALPN(WOLFSSL* ssl, char *protocol_name_list,
10728  unsigned int protocol_name_listSz,
10729  unsigned char options);
10730 
10769 int wolfSSL_ALPN_GetProtocol(WOLFSSL* ssl, char **protocol_name,
10770  unsigned short *size);
10771 
10812 int wolfSSL_ALPN_GetPeerProtocol(WOLFSSL* ssl, char **list,
10813  unsigned short *listSz);
10814 
10855 int wolfSSL_UseMaxFragment(WOLFSSL* ssl, unsigned char mfl);
10856 
10894 int wolfSSL_CTX_UseMaxFragment(WOLFSSL_CTX* ctx, unsigned char mfl);
10895 
10931 int wolfSSL_UseTruncatedHMAC(WOLFSSL* ssl);
10932 
10963 int wolfSSL_CTX_UseTruncatedHMAC(WOLFSSL_CTX* ctx);
10964 
10997 int wolfSSL_UseOCSPStapling(WOLFSSL* ssl,
10998  unsigned char status_type, unsigned char options);
10999 
11038 int wolfSSL_CTX_UseOCSPStapling(WOLFSSL_CTX* ctx,
11039  unsigned char status_type, unsigned char options);
11040 
11068 int wolfSSL_UseOCSPStaplingV2(WOLFSSL* ssl,
11069  unsigned char status_type, unsigned char options);
11070 
11103 int wolfSSL_CTX_UseOCSPStaplingV2(WOLFSSL_CTX* ctx,
11104  unsigned char status_type, unsigned char options);
11105 
11147 int wolfSSL_UseSupportedCurve(WOLFSSL* ssl, word16 name);
11148 
11185 int wolfSSL_CTX_UseSupportedCurve(WOLFSSL_CTX* ctx,
11186  word16 name);
11187 
11219 int wolfSSL_UseSecureRenegotiation(WOLFSSL* ssl);
11220 
11254 int wolfSSL_Rehandshake(WOLFSSL* ssl);
11255 
11286 int wolfSSL_UseSessionTicket(WOLFSSL* ssl);
11287 
11314 int wolfSSL_CTX_UseSessionTicket(WOLFSSL_CTX* ctx);
11315 
11347 int wolfSSL_get_SessionTicket(WOLFSSL* ssl, unsigned char* buf, word32* bufSz);
11348 
11381 int wolfSSL_set_SessionTicket(WOLFSSL* ssl, const unsigned char* buf,
11382  word32 bufSz);
11383 
11411 int wolfSSL_set_SessionTicket_cb(WOLFSSL* ssl,
11412  CallbackSessionTicket cb, void* ctx);
11413 
11443 int wolfSSL_send_SessionTicket(WOLFSSL* ssl);
11444 
11495 int wolfSSL_CTX_set_TicketEncCb(WOLFSSL_CTX* ctx,
11496  SessionTicketEncCb);
11497 
11516 int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX* ctx, int);
11517 
11537 int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX* ctx, void*);
11538 
11558 void* wolfSSL_CTX_get_TicketEncCtx(WOLFSSL_CTX* ctx);
11559 
11587 int wolfSSL_SetHsDoneCb(WOLFSSL* ssl, HandShakeDoneCb cb, void* user_ctx);
11588 
11613 int wolfSSL_PrintSessionStats(void);
11614 
11643 int wolfSSL_get_session_stats(unsigned int* active,
11644  unsigned int* total,
11645  unsigned int* peak,
11646  unsigned int* maxSessions);
11647 
11692 int wolfSSL_MakeTlsMasterSecret(unsigned char* ms, word32 msLen,
11693  const unsigned char* pms, word32 pmsLen,
11694  const unsigned char* cr, const unsigned char* sr,
11695  int tls1_2, int hash_type);
11696 
11739 int wolfSSL_DeriveTlsKeys(unsigned char* key_data, word32 keyLen,
11740  const unsigned char* ms, word32 msLen,
11741  const unsigned char* sr, const unsigned char* cr,
11742  int tls1_2, int hash_type);
11743 
11775 int wolfSSL_connect_ex(WOLFSSL* ssl, HandShakeCallBack hsCb,
11776  TimeoutCallBack toCb, WOLFSSL_TIMEVAL timeout);
11777 
11807 int wolfSSL_accept_ex(WOLFSSL* ssl, HandShakeCallBacki hsCb,
11808  TimeoutCallBack toCb, WOLFSSL_TIMEVAL timeout);
11809 
11837 long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c);
11838 
11865 long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE* fp);
11866 
11891 int wolfSSL_check_private_key(const WOLFSSL* ssl);
11892 
11917 int wolfSSL_X509_get_ext_by_NID(const WOLFSSL_X509* x509,
11918  int nid, int lastPos);
11919 
11950 void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
11951  int nid, int* c, int* idx);
11952 
11979 int wolfSSL_X509_digest(const WOLFSSL_X509* x509,
11980  const WOLFSSL_EVP_MD* digest, unsigned char* buf, unsigned int* len);
11981 
12006 int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509);
12007 
12035 int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der,
12036  int derSz);
12037 
12063 int wolfSSL_use_PrivateKey(WOLFSSL* ssl, WOLFSSL_EVP_PKEY* pkey);
12064 
12096 int wolfSSL_use_PrivateKey_ASN1(int pri, WOLFSSL* ssl,
12097  unsigned char* der, long derSz);
12098 
12129 int wolfSSL_use_RSAPrivateKey_ASN1(WOLFSSL* ssl, unsigned char* der,
12130  long derSz);
12131 
12155 WOLFSSL_DH *wolfSSL_DSA_dup_DH(const WOLFSSL_DSA *r);
12156 
12188 int wolfSSL_SESSION_get_master_key(const WOLFSSL_SESSION* ses,
12189  unsigned char* out, int outSz);
12190 
12215 int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION* ses);
12216 
12241 void wolfSSL_CTX_set_cert_store(WOLFSSL_CTX* ctx,
12242  WOLFSSL_X509_STORE* str);
12243 
12270 WOLFSSL_X509* wolfSSL_d2i_X509_bio(WOLFSSL_BIO* bio, WOLFSSL_X509** x509);
12271 
12297 WOLFSSL_X509_STORE* wolfSSL_CTX_get_cert_store(WOLFSSL_CTX* ctx);
12298 
12324 size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b);
12325 
12357 size_t wolfSSL_get_server_random(const WOLFSSL *ssl,
12358  unsigned char *out, size_t outlen);
12359 
12391 size_t wolfSSL_get_client_random(const WOLFSSL* ssl,
12392  unsigned char* out, size_t outSz);
12393 
12416 wc_pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX*
12417  ctx);
12418 
12442 void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx);
12443 
12471 WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX
12472  (WOLFSSL_BIO *bp, WOLFSSL_X509 **x, wc_pem_password_cb *cb, void *u);
12473 
12500 long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX* ctx, WOLFSSL_DH* dh);
12501 
12529 WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSAparams(WOLFSSL_BIO *bp,
12530  WOLFSSL_DSA **x, wc_pem_password_cb *cb, void *u);
12531 
12552 unsigned long wolfSSL_ERR_peek_last_error(void);
12553 
12580 WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_get_peer_cert_chain(const WOLFSSL*);
12581 
12602 long wolfSSL_CTX_clear_options(WOLFSSL_CTX* ctx, long opt);
12603 
12629 int wolfSSL_set_jobject(WOLFSSL* ssl, void* objPtr);
12630 
12656 void* wolfSSL_get_jobject(WOLFSSL* ssl);
12657 
12681 int wolfSSL_set_msg_callback(WOLFSSL *ssl, SSL_Msg_Cb cb);
12682 
12706 int wolfSSL_set_msg_callback_arg(WOLFSSL *ssl, void* arg);
12707 
12733 char* wolfSSL_X509_get_next_altname(WOLFSSL_X509*);
12734 
12760 WOLFSSL_ASN1_TIME* wolfSSL_X509_get_notBefore(WOLFSSL_X509*);
12761 
12811 int wolfSSL_connect(WOLFSSL* ssl);
12812 
12848 int wolfSSL_send_hrr_cookie(WOLFSSL* ssl,
12849  const unsigned char* secret, unsigned int secretSz);
12850 
12877 int wolfSSL_CTX_no_ticket_TLSv13(WOLFSSL_CTX* ctx);
12878 
12904 int wolfSSL_no_ticket_TLSv13(WOLFSSL* ssl);
12905 
12932 int wolfSSL_CTX_no_dhe_psk(WOLFSSL_CTX* ctx);
12933 
12959 int wolfSSL_no_dhe_psk(WOLFSSL* ssl);
12960 
12992 int wolfSSL_update_keys(WOLFSSL* ssl);
12993 
13026 int wolfSSL_key_update_response(WOLFSSL* ssl, int* required);
13027 
13057 int wolfSSL_CTX_allow_post_handshake_auth(WOLFSSL_CTX* ctx);
13058 
13088 int wolfSSL_allow_post_handshake_auth(WOLFSSL* ssl);
13089 
13125 int wolfSSL_request_certificate(WOLFSSL* ssl);
13126 
13164 int wolfSSL_CTX_set1_groups_list(WOLFSSL_CTX *ctx, char *list);
13165 
13202 int wolfSSL_set1_groups_list(WOLFSSL *ssl, char *list);
13203 
13239 int wolfSSL_preferred_group(WOLFSSL* ssl);
13240 
13281 int wolfSSL_CTX_set_groups(WOLFSSL_CTX* ctx, int* groups,
13282  int count);
13283 
13324 int wolfSSL_set_groups(WOLFSSL* ssl, int* groups, int count);
13325 
13377 int wolfSSL_connect_TLSv13(WOLFSSL*);
13378 
13426 wolfSSL_accept_TLSv13(WOLFSSL* ssl);
13427 
13466 int wolfSSL_CTX_set_max_early_data(WOLFSSL_CTX* ctx,
13467  unsigned int sz);
13468 
13506 int wolfSSL_set_max_early_data(WOLFSSL* ssl, unsigned int sz);
13507 
13557 int wolfSSL_write_early_data(OLFSSL* ssl, const void* data,
13558  int sz, int* outSz);
13559 
13609 int wolfSSL_read_early_data(WOLFSSL* ssl, void* data, int sz,
13610  int* outSz);
13611 
13637 void wolfSSL_CTX_set_psk_client_tls13_callback(WOLFSSL_CTX* ctx,
13638  wc_psk_client_tls13_callback cb);
13639 
13664 void wolfSSL_set_psk_client_tls13_callback(WOLFSSL* ssl,
13665  wc_psk_client_tls13_callback cb);
13666 
13692 void wolfSSL_CTX_set_psk_server_tls13_callback(WOLFSSL_CTX* ctx,
13693  wc_psk_server_tls13_callback cb);
13694 
13719 void wolfSSL_set_psk_server_tls13_callback(WOLFSSL* ssl,
13720  wc_psk_server_tls13_callback cb);
13721 
13758 int wolfSSL_UseKeyShare(WOLFSSL* ssl, word16 group);
13759 
13790 int wolfSSL_NoKeyShares(WOLFSSL* ssl);
13791 
13834 WOLFSSL_METHOD *wolfTLSv1_3_server_method_ex(void* heap);
13835 
13878 WOLFSSL_METHOD *wolfTLSv1_3_client_method_ex(void* heap);
13879 
13920 WOLFSSL_METHOD *wolfTLSv1_3_server_method(void);
13921 
13962 WOLFSSL_METHOD *wolfTLSv1_3_client_method(void);
13963 
13987 WOLFSSL_METHOD *wolfTLSv1_3_method_ex(void* heap);
13988 
14010 WOLFSSL_METHOD *wolfTLSv1_3_method(void);
14011 
14023 int wolfSSL_CTX_set_ephemeral_key(WOLFSSL_CTX* ctx, int keyAlgo, const char* key, unsigned int keySz, int format);
14024 
14036 int wolfSSL_set_ephemeral_key(WOLFSSL* ssl, int keyAlgo, const char* key, unsigned int keySz, int format);
14037 
14048 int wolfSSL_CTX_get_ephemeral_key(WOLFSSL_CTX* ctx, int keyAlgo,
14049  const unsigned char** key, unsigned int* keySz);
14050 
14061 int wolfSSL_get_ephemeral_key(WOLFSSL* ssl, int keyAlgo,
14062  const unsigned char** key, unsigned int* keySz);
14063 
14084 int wolfSSL_RSA_sign_generic_padding(int type, const unsigned char* m,
14085  unsigned int mLen, unsigned char* sigRet,
14086  unsigned int* sigLen, WOLFSSL_RSA* rsa,
14087  int flag, int padding);
14096 int wolfSSL_dtls13_has_pending_msg(WOLFSSL *ssl);
wolfSSL_get_psk_identity_hint
const char * wolfSSL_get_psk_identity_hint(const WOLFSSL *)
This function returns the psk identity hint.
wolfSSL_GetRsaDecCtx
void * wolfSSL_GetRsaDecCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key RSA Private Decrypt Callback Context previously stored with ...
wolfSSL_CertManagerUnloadCAs
int wolfSSL_CertManagerUnloadCAs(WOLFSSL_CERT_MANAGER *cm)
This function unloads the CA signer list.
wolfSSL_dtls_set_peer
int wolfSSL_dtls_set_peer(WOLFSSL *ssl, void *peer, unsigned int peerSz)
This function sets the DTLS peer, peer (sockaddr_in) with size of peerSz.
wolfSSL_accept_TLSv13
wolfSSL_accept_TLSv13(WOLFSSL *ssl)
This function is called on the server side and waits for a SSL/TLS client to initiate the SSL/TLS han...
wolfSSL_get_session_cache_memsize
int wolfSSL_get_session_cache_memsize(void)
This function returns how large the session cache save buffer should be.
wolfSSL_X509_NAME_oneline
char * wolfSSL_X509_NAME_oneline(WOLFSSL_X509_NAME *name, char *in, int sz)
This function copies the name of the x509 into a buffer.
wolfSSL_get_peer_chain
WOLFSSL_X509_CHAIN * wolfSSL_get_peer_chain(WOLFSSL *ssl)
Retrieves the peer’s certificate chain.
wolfSSL_use_PrivateKey_buffer
int wolfSSL_use_PrivateKey_buffer(WOLFSSL *ssl, const unsigned char *in, long sz, int format)
This function loads a private key buffer into the WOLFSSL object. It behaves like the non-buffered ve...
wolfSSL_use_certificate_buffer
int wolfSSL_use_certificate_buffer(WOLFSSL *ssl, const unsigned char *in, long sz, int format)
This function loads a certificate buffer into the WOLFSSL object. It behaves like the non-buffered ve...
wolfSSL_NoKeyShares
int wolfSSL_NoKeyShares(WOLFSSL *ssl)
This function is called to ensure no key shares are sent in the ClientHello. This will force the serv...
wolfSSL_BIO_set_fd
long wolfSSL_BIO_set_fd(WOLFSSL_BIO *b, int fd, int flag)
Sets the file descriptor for bio to use.
wolfSSL_PEM_read_bio_X509_AUX
WOLFSSL_X509 * wolfSSL_PEM_read_bio_X509_AUX(WOLFSSL_BIO *bp, WOLFSSL_X509 **x, wc_pem_password_cb *cb, void *u)
This function behaves the same as wolfSSL_PEM_read_bio_X509. AUX signifies containing extra informati...
wolfSSL_CertManagerLoadCABuffer
int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER *cm, const unsigned char *in, long sz, int format)
Loads the CA Buffer by calling wolfSSL_CTX_load_verify_buffer and returning that result using a tempo...
wolfSSL_Cleanup
int wolfSSL_Cleanup(void)
Un-initializes the wolfSSL library from further use. Doesn’t have to be called, though it will free a...
wolfSSL_i2d_PKCS12_bio
WC_PKCS12 * wolfSSL_i2d_PKCS12_bio(WOLFSSL_BIO *bio, WC_PKCS12 *pkcs12)
wolfSSL_i2d_PKCS12_bio (i2d_PKCS12_bio) copies in the cert information from the structure WC_PKCS12 t...
wolfSSL_CertManagerSetVerify
void wolfSSL_CertManagerSetVerify(WOLFSSL_CERT_MANAGER *cm, VerifyCallback vc)
The function sets the verifyCallback function in the Certificate Manager. If present,...
wolfSSL_CertManagerEnableCRL
int wolfSSL_CertManagerEnableCRL(WOLFSSL_CERT_MANAGER *cm, int options)
Turns on Certificate Revocation List checking when verifying certificates with the Certificate Manage...
wolfSSL_X509_get_subject_name
WOLFSSL_X509_NAME * wolfSSL_X509_get_subject_name(WOLFSSL_X509 *)
This function returns the subject member of the WOLFSSL_X509 structure.
wolfSSL_ASN1_INTEGER_to_BN
WOLFSSL_BIGNUM * wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai, WOLFSSL_BIGNUM *bn)
This function is used to copy a WOLFSSL_ASN1_INTEGER value to a WOLFSSL_BIGNUM structure.
wolfSSL_CTX_SetCertCbCtx
void wolfSSL_CTX_SetCertCbCtx(WOLFSSL_CTX *ctx, void *userCtx)
This function stores user CTX object information for verify callback.
wolfSSL_X509_digest
int wolfSSL_X509_digest(const WOLFSSL_X509 *x509, const WOLFSSL_EVP_MD *digest, unsigned char *buf, unsigned int *len)
This function returns the hash of the DER certificate.
wolfSSL_CTX_set_max_early_data
int wolfSSL_CTX_set_max_early_data(WOLFSSL_CTX *ctx, unsigned int sz)
This function sets the maximum amount of early data that will be accepted by a TLS v1....
wolfSSL_GetCipherBlockSize
int wolfSSL_GetCipherBlockSize(WOLFSSL *)
Allows caller to determine the negotiated cipher block size from the handshake.
wolfSSL_CTX_load_static_memory
int wolfSSL_CTX_load_static_memory(WOLFSSL_CTX **ctx, wolfSSL_method_func method, unsigned char *buf, unsigned int sz, int flag, int max)
This function is used to set aside static memory for a CTX. Memory set aside is then used for the CTX...
wolfSSL_get_psk_callback_ctx
void * wolfSSL_get_psk_callback_ctx(WOLFSSL *ssl)
Get a PSK user context in the WOLFSSL structure options member.
wolfSSL_CTX_set_tmp_dh
long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX *ctx, WOLFSSL_DH *dh)
Initializes the WOLFSSL_CTX structure’s dh member with the Diffie-Hellman parameters.
wolfSSL_dtls_set_export
int wolfSSL_dtls_set_export(WOLFSSL *ssl, wc_dtls_export func)
The wolfSSL_dtls_set_export() function is used to set the callback function for exporting a session....
wolfSSL_SetEccVerifyCtx
void wolfSSL_SetEccVerifyCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key Ecc Verification Callback Context to ctx.
wolfSSL_PKCS12_parse
int wolfSSL_PKCS12_parse(WC_PKCS12 *pkcs12, const char *psw, WOLFSSL_EVP_PKEY **pkey, WOLFSSL_X509 **cert, WOLF_STACK_OF(WOLFSSL_X509) **ca)
PKCS12 can be enabled with adding –enable-opensslextra to the configure command. It can use triple DE...
wolfSSL_GetAeadMacSize
int wolfSSL_GetAeadMacSize(WOLFSSL *)
Allows caller to determine the negotiated aead mac size from the handshake. For cipher type WOLFSSL_A...
wolfSSL_SetRsaSignCtx
void wolfSSL_SetRsaSignCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key RSA Signing Callback Context to ctx.
wolfSSL_get_fd
int wolfSSL_get_fd(const WOLFSSL *)
This function returns the file descriptor (fd) used as the input/output facility for the SSL connecti...
wolfSSL_CTX_set_groups
int wolfSSL_CTX_set_groups(WOLFSSL_CTX *ctx, int *groups, int count)
This function sets the list of elliptic curve groups to allow on a wolfSSL context in order of prefer...
wolfSSL_CTX_EnableOCSP
int wolfSSL_CTX_EnableOCSP(WOLFSSL_CTX *ctx, int options)
This function sets options to configure behavior of OCSP functionality in wolfSSL....
wolfSSL_update_keys
int wolfSSL_update_keys(WOLFSSL *ssl)
This function is called on a TLS v1.3 client or server wolfSSL to force the rollover of keys....
wolfSSL_X509_get_next_altname
char * wolfSSL_X509_get_next_altname(WOLFSSL_X509 *)
This function returns the next, if any, altname from the peer certificate.
wolfSSL_CTX_load_verify_chain_buffer_format
int wolfSSL_CTX_load_verify_chain_buffer_format(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format)
This function loads a CA certificate chain buffer into the WOLFSSL Context. It behaves like the non-b...
wolfSSL_ERR_peek_last_error
unsigned long wolfSSL_ERR_peek_last_error(void)
This function returns the absolute value of the last error from WOLFSSL_ERROR encountered.
wolfSSL_CTX_restore_cert_cache
int wolfSSL_CTX_restore_cert_cache(WOLFSSL_CTX *ctx, const char *fname)
This function persistes certificate cache from a file.
wolfSSL_SetCRL_Cb
int wolfSSL_SetCRL_Cb(WOLFSSL *ssl, CbMissingCRL cb)
Sets the CRL callback in the WOLFSSL_CERT_MANAGER structure.
wolfSSL_CTX_use_PrivateKey_file
int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX *ctx, const char *file, int format)
This function loads a private key file into the SSL context (WOLFSSL_CTX). The file is provided by th...
wolfSSL_UseOCSPStaplingV2
int wolfSSL_UseOCSPStaplingV2(WOLFSSL *ssl, unsigned char status_type, unsigned char options)
The function sets the status type and options for OCSP.
wolfSSL_DisableOCSP
int wolfSSL_DisableOCSP(WOLFSSL *)
Disables the OCSP certificate revocation option.
wolfSSL_write
int wolfSSL_write(WOLFSSL *ssl, const void *data, int sz)
This function writes sz bytes from the buffer, data, to the SSL connection, ssl. If necessary,...
wolfSSL_get_options
long wolfSSL_get_options(const WOLFSSL *s)
This function returns the current options mask.
wolfSSL_GetSessionIndex
int wolfSSL_GetSessionIndex(WOLFSSL *ssl)
This function gets the session index of the WOLFSSL structure.
wolfSSL_KeepArrays
void wolfSSL_KeepArrays(WOLFSSL *)
Normally, at the end of the SSL handshake, wolfSSL frees temporary arrays. Calling this function befo...
wolfSSL_CTX_UseMaxFragment
int wolfSSL_CTX_UseMaxFragment(WOLFSSL_CTX *ctx, unsigned char mfl)
This function is called on the client side to enable the use of Maximum Fragment Length for SSL objec...
wolfSSL_get_verify_depth
long wolfSSL_get_verify_depth(WOLFSSL *ssl)
This function returns the maximum chain depth allowed, which is 9 by default, for a valid session i....
wolfSSL_CertManagerNew
WOLFSSL_CERT_MANAGER * wolfSSL_CertManagerNew(void)
Allocates and initializes a new Certificate Manager context. This context may be used independent of ...
wolfSSL_GetSide
int wolfSSL_GetSide(WOLFSSL *)
Allows retrieval of the side of this WOLFSSL connection.
wolfSSL_GetSessionAtIndex
int wolfSSL_GetSessionAtIndex(int index, WOLFSSL_SESSION *session)
This function gets the session at specified index of the session cache and copies it into memory....
wolfSSL_use_psk_identity_hint
int wolfSSL_use_psk_identity_hint(WOLFSSL *ssl, const char *hint)
This function stores the hint argument in the server_hint member of the Arrays structure within the W...
wolfSSL_GetEccVerifyCtx
void * wolfSSL_GetEccVerifyCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key Ecc Verification Callback Context previously stored with wol...
wolfSSL_SNI_SetOptions
void wolfSSL_SNI_SetOptions(WOLFSSL *ssl, unsigned char type, unsigned char options)
This function is called on the server side to configure the behavior of the SSL session using Server ...
wolfSSL_accept_ex
int wolfSSL_accept_ex(WOLFSSL *ssl, HandShakeCallBacki hsCb, TimeoutCallBack toCb, WOLFSSL_TIMEVAL timeout)
wolfSSL_accept_ex() is an extension that allows a HandShake Callback to be set. This can be useful in...
wolfSSL_CTX_der_load_verify_locations
int wolfSSL_CTX_der_load_verify_locations(WOLFSSL_CTX *ctx, const char *file, int format)
This function is similar to wolfSSL_CTX_load_verify_locations, but allows the loading of DER-formatte...
wolfSSL_get_peer_certificate
WOLFSSL_X509 * wolfSSL_get_peer_certificate(WOLFSSL *ssl)
This function gets the peer’s certificate.
wolfSSL_GetServerWriteKey
const unsigned char * wolfSSL_GetServerWriteKey(WOLFSSL *)
Allows retrieval of the server write key from the handshake process.
wolfSSL_SetRsaVerifyCtx
void wolfSSL_SetRsaVerifyCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key RSA Verification Callback Context to ctx.
wolfSSL_get_verify_result
long wolfSSL_get_verify_result(const WOLFSSL *ssl)
This is used to get the results after trying to verify the peer's certificate.
wolfSSL_SNI_GetRequest
unsigned short wolfSSL_SNI_GetRequest(WOLFSSL *ssl, unsigned char type, void **data)
This function is called on the server side to retrieve the Server Name Indication provided by the cli...
wolfSSL_BIO_seek
int wolfSSL_BIO_seek(WOLFSSL_BIO *bio, int ofs)
This function adjusts the file pointer to the offset given. This is the offset from the head of the f...
wolfSSL_dtls_retransmit
int wolfSSL_dtls_retransmit(WOLFSSL *ssl)
When using non-blocking sockets with DTLS, this function retransmits the last handshake flight ignori...
wolfSSL_CertManagerLoadCA
int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER *cm, const char *f, const char *d)
Specifies the locations for CA certificate loading into the manager context. The PEM certificate CAfi...
wolfSSL_connect_ex
int wolfSSL_connect_ex(WOLFSSL *ssl, HandShakeCallBack hsCb, TimeoutCallBack toCb, WOLFSSL_TIMEVAL timeout)
wolfSSL_connect_ex() is an extension that allows a HandShake Callback to be set. This can be useful i...
wolfSSL_SetVersion
int wolfSSL_SetVersion(WOLFSSL *ssl, int version)
This function sets the SSL/TLS protocol version for the specified SSL session (WOLFSSL object) using ...
wolfSSL_library_init
int wolfSSL_library_init(void)
This function is called internally in wolfSSL_CTX_new(). This function is a wrapper around wolfSSL_In...
wolfSSL_CTX_SetDevId
int wolfSSL_CTX_SetDevId(WOLFSSL_CTX *ctx, int devId)
This function sets the Device Id at the WOLFSSL_CTX context level.
wolfSSL_CTX_free
void wolfSSL_CTX_free(WOLFSSL_CTX *)
This function frees an allocated WOLFSSL_CTX object. This function decrements the CTX reference count...
wolfSSL_dtls13_use_quick_timeout
int wolfSSL_dtls13_use_quick_timeout(WOLFSSL *ssl)
This function returns true if the application should setup a quicker timeout. When using non-blocking...
wolfSSL_use_certificate
int wolfSSL_use_certificate(WOLFSSL *ssl, WOLFSSL_X509 *x509)
his is used to set the certificate for WOLFSSL structure to use during a handshake.
wolfSSL_BIO_set_close
int wolfSSL_BIO_set_close(WOLFSSL_BIO *b, long flag)
Sets the close flag, used to indicate that the i/o stream should be closed when the BIO is freed.
wolfSSL_get_chain_count
int wolfSSL_get_chain_count(WOLFSSL_X509_CHAIN *chain)
Retrieve's the peers certificate chain count.
wolfSSL_CTX_load_verify_buffer
int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format)
This function loads a CA certificate buffer into the WOLFSSL Context. It behaves like the non-buffere...
wolfSSL_DSA_dup_DH
WOLFSSL_DH * wolfSSL_DSA_dup_DH(const WOLFSSL_DSA *r)
This function duplicates the parameters in dsa to a newly created WOLFSSL_DH structure.
wolfSSL_CTX_no_ticket_TLSv13
int wolfSSL_CTX_no_ticket_TLSv13(WOLFSSL_CTX *ctx)
This function is called on the server to stop it from sending a resumption session ticket once the ha...
wolfSSL_CTX_allow_post_handshake_auth
int wolfSSL_CTX_allow_post_handshake_auth(WOLFSSL_CTX *ctx)
This function is called on a TLS v1.3 client wolfSSL context to allow a client certifcate to be sent ...
wolfSSL_CTX_UseSessionTicket
int wolfSSL_CTX_UseSessionTicket(WOLFSSL_CTX *ctx)
This function sets wolfSSL context to use a session ticket.
wolfSSL_X509_STORE_add_cert
int wolfSSL_X509_STORE_add_cert(WOLFSSL_X509_STORE *store, WOLFSSL_X509 *x509)
This function adds a certificate to the WOLFSSL_X509_STRE structure.
wolfSSL_GetDhKey_Sz
int wolfSSL_GetDhKey_Sz(WOLFSSL *)
Returns the value of dhKeySz (in bits) that is a member of the options structure. This value represen...
wolfSSL_X509_STORE_set_flags
int wolfSSL_X509_STORE_set_flags(WOLFSSL_X509_STORE *store, unsigned long flag)
This function takes in a flag to change the behavior of the WOLFSSL_X509_STORE structure passed in....
wolfSSL_CTX_trust_peer_cert
int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX *ctx, const char *file, int type)
This function loads a certificate to use for verifying a peer when performing a TLS/SSL handshake....
wolfSSL_read_early_data
int wolfSSL_read_early_data(WOLFSSL *ssl, void *data, int sz, int *outSz)
This function reads any early data from a client on resumption. Call this function instead of wolfSSL...
wolfSSL_CTX_memsave_cert_cache
int wolfSSL_CTX_memsave_cert_cache(WOLFSSL_CTX *ctx, void *mem, int sz, int *used)
This function persists the certificate cache to memory.
wolfSSL_set_jobject
int wolfSSL_set_jobject(WOLFSSL *ssl, void *objPtr)
This function sets the jObjectRef member of the WOLFSSL structure.
wolfSSL_BIO_get_fp
long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE *fp)
This is used to get the internal file pointer for a BIO.
wolfSSL_CTX_save_cert_cache
int wolfSSL_CTX_save_cert_cache(WOLFSSL_CTX *ctx, const char *fname)
This function writes the cert cache from memory to file.
wolfSSL_X509_get_device_type
unsigned char * wolfSSL_X509_get_device_type(WOLFSSL_X509 *x509, unsigned char *in, int *inOutSz)
This function copies the device type from the x509 structure to the buffer.
wolfSSL_use_RSAPrivateKey_ASN1
int wolfSSL_use_RSAPrivateKey_ASN1(WOLFSSL *ssl, unsigned char *der, long derSz)
This is used to set the private key for the WOLFSSL structure. A DER formatted RSA key buffer is expe...
wolfSSL_CTX_SetRsaVerifyCb
void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX *ctx, CallbackRsaVerify cb)
Allows caller to set the Public Key Callback for RSA Verification. The callback should return the num...
wolfSSL_accept
int wolfSSL_accept(WOLFSSL *)
This function is called on the server side and waits for an SSL client to initiate the SSL/TLS handsh...
wolfSSL_GetBulkCipher
int wolfSSL_GetBulkCipher(WOLFSSL *)
Allows caller to determine the negotiated bulk cipher algorithm from the handshake.
wolfSSL_get_client_random
size_t wolfSSL_get_client_random(const WOLFSSL *ssl, unsigned char *out, size_t outSz)
This is used to get the random data sent by the client during the handshake.
wolfSSL_BIO_s_socket
WOLFSSL_BIO_METHOD * wolfSSL_BIO_s_socket(void)
This is used to get a BIO_SOCKET type WOLFSSL_BIO_METHOD.
wolfSSL_GetClientWriteKey
const unsigned char * wolfSSL_GetClientWriteKey(WOLFSSL *)
Allows retrieval of the client write key from the handshake process.
wolfSSL_GetHmacSize
int wolfSSL_GetHmacSize(WOLFSSL *)
Allows caller to determine the negotiated (h)mac size from the handshake. For cipher types except WOL...
wolfSSL_CTX_get_psk_callback_ctx
void * wolfSSL_CTX_get_psk_callback_ctx(WOLFSSL_CTX *ctx)
Get a PSK user context in the WOLFSSL_CTX structure.
wolfSSL_X509_get_ext_d2i
void * wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509 *x509, int nid, int *c, int *idx)
This function looks for and returns the extension matching the passed in NID value.
wolfSSL_CTX_set_TicketEncCtx
int wolfSSL_CTX_set_TicketEncCtx(WOLFSSL_CTX *ctx, void *)
This function sets the session ticket encrypt user context for the callback. For server side use.
wolfSSL_GetHmacType
int wolfSSL_GetHmacType(WOLFSSL *)
Allows caller to determine the negotiated (h)mac type from the handshake. For cipher types except WOL...
wolfSSL_restore_session_cache
int wolfSSL_restore_session_cache(const char *)
This function restores the persistent session cache from file. It does not use memstore because of ad...
wolfSSL_get_SessionTicket
int wolfSSL_get_SessionTicket(WOLFSSL *ssl, unsigned char *buf, word32 *bufSz)
This function copies the ticket member of the Session structure to the buffer.
wolfSSL_EnableOCSP
int wolfSSL_EnableOCSP(WOLFSSL *ssl, int options)
This function enables OCSP certificate verification.
wolfSSL_CTX_use_RSAPrivateKey_file
int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX *ctx, const char *file, int format)
This function loads the private RSA key used in the SSL connection into the SSL context (WOLFSSL_CTX)...
wolfSSL_get_cipher
const char * wolfSSL_get_cipher(WOLFSSL *)
This function matches the cipher suite in the SSL object with the available suites.
wolfSSL_SetDevId
int wolfSSL_SetDevId(WOLFSSL *ssl, int devId)
This function sets the Device Id at the WOLFSSL session level.
wolfSSL_X509_version
int wolfSSL_X509_version(WOLFSSL_X509 *)
This function retrieves the version of the X509 certificate.
wolfSSL_CTX_set_session_cache_mode
long wolfSSL_CTX_set_session_cache_mode(WOLFSSL_CTX *ctx, long mode)
This function enables or disables SSL session caching. Behavior depends on the value used for mode....
wolfSSL_BIO_write_filename
int wolfSSL_BIO_write_filename(WOLFSSL_BIO *bio, char *name)
This is used to set and write to a file. WIll overwrite any data currently in the file and is set to ...
wolfSSL_dtls13_has_pending_msg
int wolfSSL_dtls13_has_pending_msg(WOLFSSL *ssl)
checks if DTLSv1.3 stack has some messages sent but not yet acknowledged by the other peer
wolfSSL_CTX_use_certificate_chain_file
int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *ctx, const char *file)
This function loads a chain of certificates into the SSL context (WOLFSSL_CTX). The file containing t...
wolfSSL_is_init_finished
int wolfSSL_is_init_finished(WOLFSSL *)
This function checks to see if the connection is established.
wolfSSL_CTX_SetEccVerifyCb
void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX *ctx, CallbackEccVerify cb)
Allows caller to set the Public Key Callback for ECC Verification. The callback should return 0 for s...
wolfSSL_PEM_read_bio_DSAparams
WOLFSSL_DSA * wolfSSL_PEM_read_bio_DSAparams(WOLFSSL_BIO *bp, WOLFSSL_DSA **x, wc_pem_password_cb *cb, void *u)
This function get the DSA parameters from a PEM buffer in bio.
wolfSSL_CTX_UseSNI
int wolfSSL_CTX_UseSNI(WOLFSSL_CTX *ctx, unsigned char type, const void *data, unsigned short size)
This function enables the use of Server Name Indication for SSL objects created from the SSL context ...
wolfSSL_CTX_get_TicketEncCtx
void * wolfSSL_CTX_get_TicketEncCtx(WOLFSSL_CTX *ctx)
This function gets the session ticket encrypt user context for the callback. For server side use.
wolfSSL_send_SessionTicket
int wolfSSL_send_SessionTicket(WOLFSSL *ssl)
This function sends a session ticket to the client after a TLS v1.3 handhsake has been established.
wolfSSL_get_session
WOLFSSL_SESSION * wolfSSL_get_session(WOLFSSL *ssl)
When NO_SESSION_CACHE_REF is defined this function returns a pointer to the current session (WOLFSSL_...
wolfSSL_CertManagerDisableOCSP
int wolfSSL_CertManagerDisableOCSP(WOLFSSL_CERT_MANAGER *)
Disables OCSP certificate revocation.
wolfSSL_X509_STORE_CTX_get_chain
WOLFSSL_STACK * wolfSSL_X509_STORE_CTX_get_chain(WOLFSSL_X509_STORE_CTX *ctx)
This function is a getter function for chain variable in WOLFSSL_X509_STORE_CTX structure....
wolfSSL_X509_notBefore
const byte * wolfSSL_X509_notBefore(WOLFSSL_X509 *x509)
This function the certificate "not before" validity encoded as a byte array.
wolfTLSv1_3_client_method_ex
WOLFSSL_METHOD * wolfTLSv1_3_client_method_ex(void *heap)
This function is used to indicate that the application is a client and will only support the TLS 1....
wolfSSL_CTX_SetTmpDH_file
int wolfSSL_CTX_SetTmpDH_file(WOLFSSL_CTX *ctx, const char *f, int format)
The function calls wolfSSL_SetTmpDH_file_wrapper to set the server Diffie-Hellman parameters.
wolfSSL_save_session_cache
int wolfSSL_save_session_cache(const char *)
This function persists the session cache to file. It doesn’t use memsave because of additional memory...
wolfSSL_X509_get_hw_type
unsigned char * wolfSSL_X509_get_hw_type(WOLFSSL_X509 *x509, unsigned char *in, int *inOutSz)
The function copies the hwType member of the WOLFSSL_X509 structure to the buffer.
wolfSSL_CTX_load_verify_buffer_ex
int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format, int userChain, word32 flags)
This function loads a CA certificate buffer into the WOLFSSL Context. It behaves like the non-buffere...
wolfSSL_d2i_X509_bio
WOLFSSL_X509 * wolfSSL_d2i_X509_bio(WOLFSSL_BIO *bio, WOLFSSL_X509 **x509)
This function get the DER buffer from bio and converts it to a WOLFSSL_X509 structure.
wolfDTLSv1_client_method
WOLFSSL_METHOD * wolfDTLSv1_client_method(void)
The wolfDTLSv1_client_method() function is used to indicate that the application is a client and will...
wolfSSL_use_PrivateKey_file
int wolfSSL_use_PrivateKey_file(WOLFSSL *ssl, const char *file, int format)
This function loads a private key file into the SSL session (WOLFSSL structure). The key file is prov...
wolfSSL_CTX_UseSupportedCurve
int wolfSSL_CTX_UseSupportedCurve(WOLFSSL_CTX *ctx, word16 name)
This function is called on the client side to enable the use of Supported Elliptic Curves Extension f...
wolfSSL_d2i_PKCS12_bio
WC_PKCS12 * wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO *bio, WC_PKCS12 **pkcs12)
wolfSSL_d2i_PKCS12_bio (d2i_PKCS12_bio) copies in the PKCS12 information from WOLFSSL_BIO to the stru...
wolfSSL_get1_session
WOLFSSL_SESSION * wolfSSL_get1_session(WOLFSSL *ssl)
This function returns the WOLFSSL_SESSION from the WOLFSSL structure as a reference type....
wolfSSL_BIO_get_mem_data
int wolfSSL_BIO_get_mem_data(WOLFSSL_BIO *bio, void *p)
This is used to set a byte pointer to the start of the internal memory buffer.
wolfSSLv23_method
WOLFSSL_METHOD * wolfSSLv23_method(void)
This function returns a WOLFSSL_METHOD similar to wolfSSLv23_client_method except that it is not dete...
wolfSSL_shutdown
int wolfSSL_shutdown(WOLFSSL *)
This function shuts down an active SSL/TLS connection using the SSL session, ssl. This function will ...
wolfTLSv1_2_server_method
WOLFSSL_METHOD * wolfTLSv1_2_server_method(void)
The wolfTLSv1_2_server_method() function is used to indicate that the application is a server and wil...
wolfSSL_send
int wolfSSL_send(WOLFSSL *ssl, const void *data, int sz, int flags)
This function writes sz bytes from the buffer, data, to the SSL connection, ssl, using the specified ...
wolfSSL_ALPN_GetPeerProtocol
int wolfSSL_ALPN_GetPeerProtocol(WOLFSSL *ssl, char **list, unsigned short *listSz)
This function copies the alpn_client_list data from the SSL object to the buffer.
wolfSSL_X509_get_issuer_name
WOLFSSL_X509_NAME * wolfSSL_X509_get_issuer_name(WOLFSSL_X509 *)
This function returns the name of the certificate issuer.
wolfSSL_CTX_UseOCSPStapling
int wolfSSL_CTX_UseOCSPStapling(WOLFSSL_CTX *ctx, unsigned char status_type, unsigned char options)
This function requests the certificate status during the handshake.
wolfSSL_is_static_memory
int wolfSSL_is_static_memory(WOLFSSL *ssl, WOLFSSL_MEM_CONN_STATS *mem_stats)
wolfSSL_is_static_memory is used to gather information about a SSL’s static memory usage....
wolfSSL_dtls_import
int wolfSSL_dtls_import(WOLFSSL *ssl, unsigned char *buf, unsigned int sz)
The wolfSSL_dtls_import() function is used to parse in a serialized session state....
wolfSSL_CTX_new
WOLFSSL_CTX * wolfSSL_CTX_new(WOLFSSL_METHOD *)
This function creates a new SSL context, taking a desired SSL/TLS protocol method for input.
wolfSSL_PrintSessionStats
int wolfSSL_PrintSessionStats(void)
This function prints the statistics from the session.
wolfSSL_UseTruncatedHMAC
int wolfSSL_UseTruncatedHMAC(WOLFSSL *ssl)
This function is called on the client side to enable the use of Truncated HMAC in the SSL object pass...
wolfSSL_dtls_got_timeout
int wolfSSL_dtls_got_timeout(WOLFSSL *ssl)
When using non-blocking sockets with DTLS, this function should be called on the WOLFSSL object when ...
wolfSSL_CIPHER_get_name
const char * wolfSSL_CIPHER_get_name(const WOLFSSL_CIPHER *cipher)
This function matches the cipher suite in the SSL object with the available suites and returns the st...
wolfSSL_CTX_no_dhe_psk
int wolfSSL_CTX_no_dhe_psk(WOLFSSL_CTX *ctx)
This function is called on a TLS v1.3 wolfSSL context to disallow Diffie-Hellman (DH) style key excha...
wolfSSL_GetIVSize
int wolfSSL_GetIVSize(WOLFSSL *)
Returns the iv_size member of the specs structure held in the WOLFSSL struct.
wolfSSL_no_dhe_psk
int wolfSSL_no_dhe_psk(WOLFSSL *ssl)
This function is called on a TLS v1.3 client or server wolfSSL to disallow Diffie-Hellman (DH) style ...
wolfSSL_CTX_set_verify
void wolfSSL_CTX_set_verify(WOLFSSL_CTX *ctx, int mode, VerifyCallback verify_callback)
This function sets the verification method for remote peers and also allows a verify callback to be r...
wolfSSL_write_early_data
int wolfSSL_write_early_data(OLFSSL *ssl, const void *data, int sz, int *outSz)
This function writes early data to the server on resumption. Call this function instead of wolfSSL_co...
wolfDTLSv1_2_client_method_ex
WOLFSSL_METHOD * wolfDTLSv1_2_client_method_ex(void *heap)
This function initializes the DTLS v1.2 client method.
wolfSSL_SetMinDhKey_Sz
int wolfSSL_SetMinDhKey_Sz(WOLFSSL *ssl, word16 keySz_bits)
Sets the minimum size (in bits) for a Diffie-Hellman key in the WOLFSSL structure.
wolfSSL_dtls_set_timeout_init
int wolfSSL_dtls_set_timeout_init(WOLFSSL *ssl, int)
This function sets the dtls timeout.
wolfSSL_CTX_SetTmpDH_buffer
int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX *ctx, const unsigned char *b, long sz, int format)
A wrapper function that calls wolfSSL_SetTmpDH_buffer_wrapper.
wolfSSL_CTX_load_verify_locations
int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX *ctx, const char *file, const char *format)
This function loads PEM-formatted CA certificate files into the SSL context (WOLFSSL_CTX)....
wolfSSL_CertManagerSetOCSP_Cb
int wolfSSL_CertManagerSetOCSP_Cb(WOLFSSL_CERT_MANAGER *cm, CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void *ioCbCtx)
The function sets the OCSP callback in the WOLFSSL_CERT_MANAGER.
wolfSSL_load_error_strings
void wolfSSL_load_error_strings(void)
This function is for OpenSSL compatibility (SSL_load_error_string) only and takes no action.
wolfSSL_key_update_response
int wolfSSL_key_update_response(WOLFSSL *ssl, int *required)
This function is called on a TLS v1.3 client or server wolfSSL to determine whether a rollover of key...
wolfSSL_dtls_set_using_nonblock
void wolfSSL_dtls_set_using_nonblock(WOLFSSL *ssl, int nonblock)
This function informs the WOLFSSL DTLS object that the underlying UDP I/O is non-blocking....
wolfTLSv1_1_client_method
WOLFSSL_METHOD * wolfTLSv1_1_client_method(void)
The wolfTLSv1_1_client_method() function is used to indicate that the application is a client and wil...
wolfSSL_read
int wolfSSL_read(WOLFSSL *ssl, void *data, int sz)
This function reads sz bytes from the SSL session (ssl) internal read buffer into the buffer data....
wolfSSL_want_write
int wolfSSL_want_write(WOLFSSL *)
This function is similar to calling wolfSSL_get_error() and getting SSL_ERROR_WANT_WRITE in return....
wolfSSL_CertManagerSetOCSPOverrideURL
int wolfSSL_CertManagerSetOCSPOverrideURL(WOLFSSL_CERT_MANAGER *cm, const char *url)
The function copies the url to the ocspOverrideURL member of the WOLFSSL_CERT_MANAGER structure.
wolfSSL_set_SessionTicket
int wolfSSL_set_SessionTicket(WOLFSSL *ssl, const unsigned char *buf, word32 bufSz)
This function sets the ticket member of the WOLFSSL_SESSION structure within the WOLFSSL struct....
wolfSSL_CTX_SNI_SetOptions
void wolfSSL_CTX_SNI_SetOptions(WOLFSSL_CTX *ctx, unsigned char type, unsigned char options)
This function is called on the server side to configure the behavior of the SSL sessions using Server...
wolfSSL_set_cipher_list
int wolfSSL_set_cipher_list(WOLFSSL *ssl, const char *list)
This function sets cipher suite list for a given WOLFSSL object (SSL session). The ciphers in the lis...
wolfSSL_set_group_messages
int wolfSSL_set_group_messages(WOLFSSL *)
This function turns on grouping of handshake messages where possible.
wolfSSL_SetMinVersion
int wolfSSL_SetMinVersion(WOLFSSL *ssl, int version)
This function sets the minimum downgrade version allowed. Applicable only when the connection allows ...
wolfSSL_UseALPN
int wolfSSL_UseALPN(WOLFSSL *ssl, char *protocol_name_list, unsigned int protocol_name_listSz, unsigned char options)
Setup ALPN use for a wolfSSL session.
wolfSSL_get_chain_length
int wolfSSL_get_chain_length(WOLFSSL_X509_CHAIN *chain, int idx)
Retrieves the peer’s ASN1.DER certificate length in bytes at index (idx).
wolfSSL_tls_export
int wolfSSL_tls_export(WOLFSSL *ssl, unsigned char *buf, unsigned int *sz)
Used to export a serialized TLS session. This function is for importing a serialized state of the con...
wolfSSL_X509_get_serial_number
int wolfSSL_X509_get_serial_number(WOLFSSL_X509 *x509, unsigned char *in, int *inOutSz)
Retrieves the peer’s certificate serial number. The serial number buffer (in) should be at least 32 b...
wolfSSL_CTX_set_group_messages
int wolfSSL_CTX_set_group_messages(WOLFSSL_CTX *)
This function turns on grouping of handshake messages where possible.
wolfSSL_SetMinEccKey_Sz
int wolfSSL_SetMinEccKey_Sz(WOLFSSL *ssl, short keySz)
Sets the value of the minEccKeySz member of the options structure. The options struct is a member of ...
wolfDTLSv1_server_method
WOLFSSL_METHOD * wolfDTLSv1_server_method(void)
The wolfDTLSv1_server_method() function is used to indicate that the application is a server and will...
wolfSSL_CTX_UnloadCAs
int wolfSSL_CTX_UnloadCAs(WOLFSSL_CTX *)
This function unloads the CA signer list and frees the whole signer table.
wolfSSL_BIO_make_bio_pair
int wolfSSL_BIO_make_bio_pair(WOLFSSL_BIO *b1, WOLFSSL_BIO *b2)
This is used to pair two bios together. A pair of bios acts similar to a two way pipe writing to one ...
wolfSSL_use_certificate_ASN1
int wolfSSL_use_certificate_ASN1(WOLFSSL *ssl, unsigned char *der, int derSz)
This is used to set the certificate for WOLFSSL structure to use during a handshake....
wolfSSL_X509_notAfter
const byte * wolfSSL_X509_notAfter(WOLFSSL_X509 *x509)
This function the certificate "not after" validity encoded as a byte array.
wolfSSL_CTX_set_TicketHint
int wolfSSL_CTX_set_TicketHint(WOLFSSL_CTX *ctx, int)
This function sets the session ticket hint relayed to the client. For server side use.
wolfSSL_SetFuzzerCb
void wolfSSL_SetFuzzerCb(WOLFSSL *ssl, CallbackFuzzer cbf, void *fCtx)
This function sets the fuzzer callback.
wolfSSL_get_chain_X509
WOLFSSL_X509 * wolfSSL_get_chain_X509(WOLFSSL_X509_CHAIN *chain, int idx)
This function gets the peer’s wolfSSL_X509_certificate at index (idx) from the chain of certificates.
wolfSSL_GetObjectSize
int wolfSSL_GetObjectSize(void)
This function returns the size of the WOLFSSL object and will be dependent on build options and setti...
wolfSSL_CTX_get_read_ahead
int wolfSSL_CTX_get_read_ahead(WOLFSSL_CTX *)
This function returns the get read ahead flag from a WOLFSSL_CTX structure.
wolfSSL_ERR_error_string_n
void wolfSSL_ERR_error_string_n(unsigned long e, char *buf, unsigned long sz)
This function is a version of wolfSSL_ERR_error_string() where len specifies the maximum number of ch...
wolfSSL_SetRsaEncCtx
void wolfSSL_SetRsaEncCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key RSA Public Encrypt Callback Context to ctx.
wolfSSL_pending
int wolfSSL_pending(WOLFSSL *)
This function returns the number of bytes which are buffered and available in the SSL object to be re...
wolfSSL_get_current_cipher
WOLFSSL_CIPHER * wolfSSL_get_current_cipher(WOLFSSL *)
This function returns a pointer to the current cipher in the ssl session.
wolfSSL_ERR_print_errors_cb
void wolfSSL_ERR_print_errors_cb(int(*cb)(const char *str, size_t len, void *u), void *u)
This function uses the provided callback to handle error reporting. The callback function is executed...
wolfSSL_SetCertCbCtx
void wolfSSL_SetCertCbCtx(WOLFSSL *ssl, void *ctx)
This function stores user CTX object information for verify callback.
wolfSSL_CertManagerVerify
int wolfSSL_CertManagerVerify(WOLFSSL_CERT_MANAGER *cm, const char *f, int format)
Specifies the certificate to verify with the Certificate Manager context. The format can be SSL_FILET...
wolfSSL_GetDecryptVerifyCtx
void * wolfSSL_GetDecryptVerifyCtx(WOLFSSL *ssl)
Allows caller to retrieve the Atomic User Record Processing Decrypt/Verify Callback Context previousl...
wolfSSL_SetHsDoneCb
int wolfSSL_SetHsDoneCb(WOLFSSL *ssl, HandShakeDoneCb cb, void *user_ctx)
This function sets the handshake done callback. The hsDoneCb and hsDoneCtx members of the WOLFSSL str...
wolfSSL_CTX_set_psk_server_callback
void wolfSSL_CTX_set_psk_server_callback(WOLFSSL_CTX *ctx, wc_psk_server_callback cb)
This function sets the psk callback for the server side in the WOLFSSL_CTX structure.
wolfSSL_CTX_set_timeout
int wolfSSL_CTX_set_timeout(WOLFSSL_CTX *ctx, unsigned int to)
This function sets the timeout value for SSL sessions, in seconds, for the specified SSL context.
wolfSSL_CertManagerFree
void wolfSSL_CertManagerFree(WOLFSSL_CERT_MANAGER *)
Frees all resources associated with the Certificate Manager context. Call this when you no longer nee...
wolfSSL_set_msg_callback_arg
int wolfSSL_set_msg_callback_arg(WOLFSSL *ssl, void *arg)
This function sets associated callback context value in the ssl. The value is handed over to the call...
wolfSSL_negotiate
int wolfSSL_negotiate(WOLFSSL *ssl)
Performs the actual connect or accept based on the side of the SSL method. If called from the client ...
wolfSSL_CTX_use_PrivateKey_buffer
int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format)
This function loads a private key buffer into the SSL Context. It behaves like the non-buffered versi...
wolfSSL_BIO_set_write_buf_size
int wolfSSL_BIO_set_write_buf_size(WOLFSSL_BIO *b, long size)
This is used to set the size of write buffer for a WOLFSSL_BIO. If write buffer has been previously s...
wolfSSL_use_PrivateKey
int wolfSSL_use_PrivateKey(WOLFSSL *ssl, WOLFSSL_EVP_PKEY *pkey)
This is used to set the private key for the WOLFSSL structure.
wolfSSL_CertManagerLoadCRL
int wolfSSL_CertManagerLoadCRL(WOLFSSL_CERT_MANAGER *cm, const char *path, int type, int monitor)
Error checks and passes through to LoadCRL() in order to load the cert into the CRL for revocation ch...
wolfSSL_CTX_SetMinVersion
int wolfSSL_CTX_SetMinVersion(WOLFSSL_CTX *ctx, int version)
This function sets the minimum downgrade version allowed. Applicable only when the connection allows ...
WOLF_STACK_OF
WOLF_STACK_OF(WOLFSSL_X509) *wolfSSL_get_peer_cert_chain(const WOLFSSL *)
This function gets the peer’s certificate chain.
wolfTLSv1_3_method
WOLFSSL_METHOD * wolfTLSv1_3_method(void)
This function returns a WOLFSSL_METHOD similar to wolfTLSv1_3_client_method except that it is not det...
wolfSSL_new
WOLFSSL * wolfSSL_new(WOLFSSL_CTX *)
This function creates a new SSL session, taking an already created SSL context as input.
wolfSSL_preferred_group
int wolfSSL_preferred_group(WOLFSSL *ssl)
This function returns the key exchange group the client prefers to use in the TLS v1....
wolfSSL_UseSessionTicket
int wolfSSL_UseSessionTicket(WOLFSSL *ssl)
Force provided WOLFSSL structure to use session ticket. The constant HAVE_SESSION_TICKET should be de...
wolfSSL_CTX_SetMinRsaKey_Sz
int wolfSSL_CTX_SetMinRsaKey_Sz(WOLFSSL_CTX *ctx, short keySz)
Sets the minimum RSA key size in both the WOLFSSL_CTX structure and the WOLFSSL_CERT_MANAGER structur...
wolfSSL_X509_get_isCA
int wolfSSL_X509_get_isCA(WOLFSSL_X509 *)
Checks the isCa member of the WOLFSSL_X509 structure and returns the value.
wolfSSL_CTX_clear_options
long wolfSSL_CTX_clear_options(WOLFSSL_CTX *ctx, long opt)
This function resets option bits of WOLFSSL_CTX object.
wolfSSL_make_eap_keys
int wolfSSL_make_eap_keys(WOLFSSL *ssl, void *key, unsigned int len, const char *label)
This function is used by EAP_TLS and EAP-TTLS to derive keying material from the master secret.
wolfSSL_CTX_set_psk_client_callback
void wolfSSL_CTX_set_psk_client_callback(WOLFSSL_CTX *ctx, wc_psk_client_callback)
The function sets the client_psk_cb member of the WOLFSSL_CTX structure.
wolfSSL_UseSNI
int wolfSSL_UseSNI(WOLFSSL *ssl, unsigned char type, const void *data, unsigned short size)
This function enables the use of Server Name Indication in the SSL object passed in the 'ssl' paramet...
wolfSSL_DTLS_SetCookieSecret
int wolfSSL_DTLS_SetCookieSecret(WOLFSSL *ssl, const unsigned char *secret, unsigned int secretSz)
This function sets a new dtls cookie secret.
wolfSSL_BIO_nread
int wolfSSL_BIO_nread(WOLFSSL_BIO *bio, char **buf, int num)
This is used to get a buffer pointer for reading from. The internal read index is advanced by the num...
wolfSSL_UnloadCertsKeys
int wolfSSL_UnloadCertsKeys(WOLFSSL *)
This function unloads any certificates or keys that SSL owns.
wolfSSL_SetOCSP_OverrideURL
int wolfSSL_SetOCSP_OverrideURL(WOLFSSL *ssl, const char *url)
This function sets the ocspOverrideURL member in the WOLFSSL_CERT_MANAGER structure.
wolfSSL_CTX_set_psk_callback_ctx
int wolfSSL_CTX_set_psk_callback_ctx(WOLFSSL_CTX *ctx, void *psk_ctx)
Sets a PSK user context in the WOLFSSL_CTX structure.
wolfSSL_dtls13_set_send_more_acks
void wolfSSL_dtls13_set_send_more_acks(WOLFSSL *ssl, int value)
This function sets whether the library should send ACKs to the other peer immediately when detecting ...
wolfSSL_CTX_DisableOCSP
int wolfSSL_CTX_DisableOCSP(WOLFSSL_CTX *)
This function disables OCSP certificate revocation checking by affecting the ocspEnabled member of th...
wolfSSL_IsTLSv1_1
int wolfSSL_IsTLSv1_1(WOLFSSL *)
Allows caller to determine if the negotiated protocol version is at least TLS version 1....
wolfSSL_state
int wolfSSL_state(WOLFSSL *ssl)
This is used to get the internal error state of the WOLFSSL structure.
wolfSSL_SetTmpDH
int wolfSSL_SetTmpDH(WOLFSSL *ssl, const unsigned char *p, int pSz, const unsigned char *g, int gSz)
Server Diffie-Hellman Ephemeral parameters setting. This function sets up the group parameters to be ...
wolfSSL_CTX_SetEccSignCtx
void wolfSSL_CTX_SetEccSignCtx(WOLFSSL_CTX *ctx, void *userCtx)
Allows caller to set the Public Key Ecc Signing Callback Context to ctx.
wolfSSL_DisableCRL
int wolfSSL_DisableCRL(WOLFSSL *ssl)
Disables CRL certificate revocation.
wolfSSL_CTX_dtls_set_export
int wolfSSL_CTX_dtls_set_export(WOLFSSL_CTX *ctx, wc_dtls_export func)
The wolfSSL_CTX_dtls_set_export() function is used to set the callback function for exporting a sessi...
wolfSSL_set_session_secret_cb
int wolfSSL_set_session_secret_cb(WOLFSSL *ssl, SessionSecretCb cb, void *ctx)
This function sets the session secret callback function. The SessionSecretCb type has the signature: ...
wolfSSL_set_groups
int wolfSSL_set_groups(WOLFSSL *ssl, int *groups, int count)
This function sets the list of elliptic curve groups to allow on a wolfSSL. The list is an array of g...
wolfSSL_lib_version_hex
word32 wolfSSL_lib_version_hex(void)
This function returns the current library version in hexadecimal notation.
wolfSSL_X509_get_notAfter
WOLFSSL_ASN1_TIME * wolfSSL_X509_get_notAfter(WOLFSSL_X509 *)
This function checks to see if x509 is NULL and if it’s not, it returns the notAfter member of the x5...
wolfSSL_CTX_load_verify_locations_ex
int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX *ctx, const char *file, const char *path, unsigned int flags)
This function loads PEM-formatted CA certificate files into the SSL context (WOLFSSL_CTX)....
wolfSSL_set_psk_server_callback
void wolfSSL_set_psk_server_callback(WOLFSSL *ssl, wc_psk_server_callback cb)
Sets the psk callback for the server side by setting the WOLFSSL structure options members.
wolfSSL_BIO_reset
int wolfSSL_BIO_reset(WOLFSSL_BIO *bio)
Resets bio to an initial state. As an example for type BIO_BIO this resets the read and write index.
wolfSSL_CTX_trust_peer_buffer
int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format)
This function loads a certificate to use for verifying a peer when performing a TLS/SSL handshake....
wolfSSL_CertManagerCheckCRL
int wolfSSL_CertManagerCheckCRL(WOLFSSL_CERT_MANAGER *cm, unsigned char *der, int sz)
Check CRL if the option is enabled and compares the cert to the CRL list.
wolfSSL_CTX_SetMinEccKey_Sz
int wolfSSL_CTX_SetMinEccKey_Sz(WOLFSSL_CTX *ssl, short keySz)
Sets the minimum size in bits for the ECC key in the WOLF_CTX structure and the WOLFSSL_CERT_MANAGER ...
wolfSSL_get_cipher_list
char * wolfSSL_get_cipher_list(int priority)
Get the name of cipher at priority level passed in.
wolfSSL_CTX_SetOCSP_OverrideURL
int wolfSSL_CTX_SetOCSP_OverrideURL(WOLFSSL_CTX *ctx, const char *url)
This function manually sets the URL for OCSP to use. By default, OCSP will use the URL found in the i...
wolfSSL_CTX_is_static_memory
int wolfSSL_CTX_is_static_memory(WOLFSSL_CTX *ctx, WOLFSSL_MEM_STATS *mem_stats)
This function does not change any of the connections behavior and is used only for gathering informat...
wolfSSL_set_options
long wolfSSL_set_options(WOLFSSL *s, long op)
This function sets the options mask in the ssl. Some valid options are, SSL_OP_ALL,...
wolfSSL_CertManagerNew_ex
WOLFSSL_CERT_MANAGER * wolfSSL_CertManagerNew_ex(void *heap)
Allocates and initializes a new Certificate Manager context. This context may be used independent of ...
wolfSSL_check_private_key
int wolfSSL_check_private_key(const WOLFSSL *ssl)
This function checks that the private key is a match with the certificate being used.
wolfSSL_get_ciphers
int wolfSSL_get_ciphers(char *buf, int len)
This function gets the ciphers enabled in wolfSSL.
wolfSSL_dtls_get_peer
int wolfSSL_dtls_get_peer(WOLFSSL *ssl, void *peer, unsigned int *peerSz)
This function gets the sockaddr_in (of size peerSz) of the current DTLS peer. The function will compa...
wolfSSL_CTX_SetRsaDecCb
void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX *ctx, CallbackRsaDec cb)
Allows caller to set the Public Key Callback for RSA Private Decrypt. The callback should return the ...
wolfSSL_get_chain_cert_pem
int wolfSSL_get_chain_cert_pem(WOLFSSL_X509_CHAIN *chain, int idx, unsigned char *buf, int inLen, int *outLen)
Retrieves the peer’s PEM certificate at index (idx).
wolfSSL_GetMaxOutputSize
int wolfSSL_GetMaxOutputSize(WOLFSSL *)
Returns the maximum record layer size for plaintext data. This will correspond to either the maximum ...
wolfSSL_BIO_nread0
int wolfSSL_BIO_nread0(WOLFSSL_BIO *bio, char **buf)
This is used to get a buffer pointer for reading from. Unlike wolfSSL_BIO_nread the internal read ind...
wolfSSL_X509_get_subjectCN
char * wolfSSL_X509_get_subjectCN(WOLFSSL_X509 *)
Returns the common name of the subject from the certificate.
wolfSSL_BIO_ctrl_reset_read_request
int wolfSSL_BIO_ctrl_reset_read_request(WOLFSSL_BIO *b)
This is used to set the read request flag back to 0.
wolfSSL_memsave_session_cache
int wolfSSL_memsave_session_cache(void *mem, int sz)
This function persists session cache to memory.
wolfSSL_free
void wolfSSL_free(WOLFSSL *)
This function frees an allocated wolfSSL object.
wolfSSL_ALPN_GetProtocol
int wolfSSL_ALPN_GetProtocol(WOLFSSL *ssl, char **protocol_name, unsigned short *size)
This function gets the protocol name set by the server.
wolfSSL_SetServerID
int wolfSSL_SetServerID(WOLFSSL *ssl, const unsigned char *id, int len, int newSession)
This function associates the client session with the server id. If the newSession flag is on,...
wolfSSLv23_client_method
WOLFSSL_METHOD * wolfSSLv23_client_method(void)
The wolfSSLv23_client_method() function is used to indicate that the application is a client and will...
wolfSSL_set_psk_client_tls13_callback
void wolfSSL_set_psk_client_tls13_callback(WOLFSSL *ssl, wc_psk_client_tls13_callback cb)
This function sets the Pre-Shared Key (PSK) client side callback for TLS v1.3 connections....
wolfSSL_dtls
int wolfSSL_dtls(WOLFSSL *ssl)
This function is used to determine if the SSL session has been configured to use DTLS.
wolfSSL_GetCipherType
int wolfSSL_GetCipherType(WOLFSSL *)
Allows caller to determine the negotiated cipher type from the handshake.
wolfSSL_set_timeout
int wolfSSL_set_timeout(WOLFSSL *ssl, unsigned int to)
This function sets the SSL session timeout value in seconds.
wolfSSL_SetOCSP_Cb
int wolfSSL_SetOCSP_Cb(WOLFSSL *ssl, CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void *ioCbCtx)
This function sets the OCSP callback in the WOLFSSL_CERT_MANAGER structure.
wolfSSL_CTX_EnableCRL
int wolfSSL_CTX_EnableCRL(WOLFSSL_CTX *ctx, int options)
Enables CRL certificate verification through the CTX.
wolfSSL_recv
int wolfSSL_recv(WOLFSSL *ssl, void *data, int sz, int flags)
This function reads sz bytes from the SSL session (ssl) internal read buffer into the buffer data usi...
wolfSSL_connect
int wolfSSL_connect(WOLFSSL *ssl)
This function is called on the client side and initiates an SSL/TLS handshake with a server....
wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg
long wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg(WOLFSSL_CTX *ctx, void *arg)
This function sets the optional argument to be passed to the PRF callback.
wolfSSL_BIO_set_mem_eof_return
long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v)
This is used to set the end of file value. Common value is -1 so as not to get confused with expected...
wolfSSL_SNI_Status
unsigned char wolfSSL_SNI_Status(WOLFSSL *ssl, unsigned char type)
This function gets the status of an SNI object.
wolfSSL_set_msg_callback
int wolfSSL_set_msg_callback(WOLFSSL *ssl, SSL_Msg_Cb cb)
This function sets a callback in the ssl. The callback is to observe handshake messages....
wolfSSL_CTX_set_ephemeral_key
int wolfSSL_CTX_set_ephemeral_key(WOLFSSL_CTX *ctx, int keyAlgo, const char *key, unsigned int keySz, int format)
This function sets a fixed / static ephemeral key for testing only.
wolfSSL_want_read
int wolfSSL_want_read(WOLFSSL *)
This function is similar to calling wolfSSL_get_error() and getting SSL_ERROR_WANT_READ in return....
wolfSSL_CertManagerEnableOCSPStapling
int wolfSSL_CertManagerEnableOCSPStapling(WOLFSSL_CERT_MANAGER *cm)
This function turns on OCSP stapling if it is not turned on as well as set the options.
wolfSSL_allow_post_handshake_auth
int wolfSSL_allow_post_handshake_auth(WOLFSSL *ssl)
This function is called on a TLS v1.3 client wolfSSL to allow a client certifcate to be sent post han...
wolfSSL_CTX_GetEccSignCtx
void * wolfSSL_CTX_GetEccSignCtx(WOLFSSL_CTX *ctx)
Allows caller to retrieve the Public Key Ecc Signing Callback Context previously stored with wolfSSL_...
wolfSSL_SESSION_get_master_key
int wolfSSL_SESSION_get_master_key(const WOLFSSL_SESSION *ses, unsigned char *out, int outSz)
This is used to get the master key after completing a handshake.
wolfTLSv1_client_method
WOLFSSL_METHOD * wolfTLSv1_client_method(void)
The wolfTLSv1_client_method() function is used to indicate that the application is a client and will ...
wolfSSL_get_session_stats
int wolfSSL_get_session_stats(unsigned int *active, unsigned int *total, unsigned int *peak, unsigned int *maxSessions)
This function gets the statistics for the session.
wolfSSL_get_chain_cert
unsigned char * wolfSSL_get_chain_cert(WOLFSSL_X509_CHAIN *chain, int idx)
Retrieves the peer’s ASN1.DER certificate at index (idx).
wolfSSL_set_tlsext_status_type
long wolfSSL_set_tlsext_status_type(WOLFSSL *s, int type)
This function is called when the client application request that a server send back an OCSP status re...
wolfSSL_get_cipher_name
const char * wolfSSL_get_cipher_name(WOLFSSL *ssl)
This function gets the cipher name in the format DHE-RSA by passing through argument to wolfSSL_get_c...
wolfSSL_get_jobject
void * wolfSSL_get_jobject(WOLFSSL *ssl)
This function returns the jObjectRef member of the WOLFSSL structure.
wolfSSL_CTX_get_cert_store
WOLFSSL_X509_STORE * wolfSSL_CTX_get_cert_store(WOLFSSL_CTX *ctx)
This is a getter function for the WOLFSSL_X509_STORE structure in ctx.
wolfSSL_X509_load_certificate_file
WOLFSSL_X509 * wolfSSL_X509_load_certificate_file(const char *fname, int format)
The function loads the x509 certificate into memory.
wolfTLSv1_server_method
WOLFSSL_METHOD * wolfTLSv1_server_method(void)
The wolfTLSv1_server_method() function is used to indicate that the application is a server and will ...
wolfSSL_GetServerWriteIV
const unsigned char * wolfSSL_GetServerWriteIV(WOLFSSL *)
Allows retrieval of the server write IV (initialization vector) from the handshake process.
wolfSSL_GetEccSignCtx
void * wolfSSL_GetEccSignCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key Ecc Signing Callback Context previously stored with wolfSSL_...
wolfSSL_X509_get_hw_serial_number
unsigned char * wolfSSL_X509_get_hw_serial_number(WOLFSSL_X509 *x509, unsigned char *in, int *inOutSz)
This function returns the hwSerialNum member of the x509 object.
wolfSSL_GetMacEncryptCtx
void * wolfSSL_GetMacEncryptCtx(WOLFSSL *ssl)
Allows caller to retrieve the Atomic User Record Processing Mac/Encrypt Callback Context previously s...
wolfSSL_CTX_add_extra_chain_cert
long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX *ctx, WOLFSSL_X509 *x509)
This function adds the certificate to the internal chain being built in the WOLFSSL_CTX structure.
wolfSSL_set_SessionTicket_cb
int wolfSSL_set_SessionTicket_cb(WOLFSSL *ssl, CallbackSessionTicket cb, void *ctx)
This function sets the session ticket callback. The type CallbackSessionTicket is a function pointer ...
wolfSSL_CTX_set1_groups_list
int wolfSSL_CTX_set1_groups_list(WOLFSSL_CTX *ctx, char *list)
This function sets the list of elliptic curve groups to allow on a wolfSSL context in order of prefer...
wolfSSL_get_server_random
size_t wolfSSL_get_server_random(const WOLFSSL *ssl, unsigned char *out, size_t outlen)
This is used to get the random data sent by the server during the handshake.
wolfSSL_X509_d2i_fp
WOLFSSL_X509 * wolfSSL_X509_d2i_fp(WOLFSSL_X509 **x509, FILE *file)
If NO_STDIO_FILESYSTEM is defined this function will allocate heap memory, initialize a WOLFSSL_X509 ...
wolfSSL_CertManagerCheckOCSP
int wolfSSL_CertManagerCheckOCSP(WOLFSSL_CERT_MANAGER *cm, unsigned char *der, int sz)
The function enables the WOLFSSL_CERT_MANAGER’s member, ocspEnabled to signify that the OCSP check op...
wolfSSL_set_ephemeral_key
int wolfSSL_set_ephemeral_key(WOLFSSL *ssl, int keyAlgo, const char *key, unsigned int keySz, int format)
This function sets a fixed / static ephemeral key for testing only.
wolfSSL_use_certificate_chain_file
int wolfSSL_use_certificate_chain_file(WOLFSSL *ssl, const char *file)
This function loads a chain of certificates into the SSL session (WOLFSSL structure)....
wolfSSL_X509_get_ext_by_NID
int wolfSSL_X509_get_ext_by_NID(const WOLFSSL_X509 *x509, int nid, int lastPos)
This function looks for and returns the extension index matching the passed in NID value.
wolfSSL_CTX_SetTmpDH
int wolfSSL_CTX_SetTmpDH(WOLFSSL_CTX *ctx, const unsigned char *p, int pSz, const unsigned char *g, int gSz)
Sets the parameters for the server CTX Diffie-Hellman.
wolfSSL_Init
int wolfSSL_Init(void)
Initializes the wolfSSL library for use. Must be called once per application and before any other cal...
wolfSSL_UseSecureRenegotiation
int wolfSSL_UseSecureRenegotiation(WOLFSSL *ssl)
This function forces secure renegotiation for the supplied WOLFSSL structure. This is not recommended...
wolfSSL_Rehandshake
int wolfSSL_Rehandshake(WOLFSSL *ssl)
This function executes a secure renegotiation handshake; this is user forced as wolfSSL discourages t...
wolfSSL_SetTmpDH_file
int wolfSSL_SetTmpDH_file(WOLFSSL *ssl, const char *f, int format)
This function calls wolfSSL_SetTmpDH_file_wrapper to set server Diffie-Hellman parameters.
wolfSSL_BIO_nwrite
int wolfSSL_BIO_nwrite(WOLFSSL_BIO *bio, char **buf, int num)
Gets a pointer to the buffer for writing as many bytes as returned by the function....
wolfSSL_ERR_print_errors_fp
void wolfSSL_ERR_print_errors_fp(XFILE fp, int err)
This function converts an error code returned by wolfSSL_get_error() into a more human-readable error...
wolfSSL_set_verify
void wolfSSL_set_verify(WOLFSSL *ssl, int mode, VerifyCallback verify_callback)
This function sets the verification method for remote peers and also allows a verify callback to be r...
wolfSSL_set_psk_callback_ctx
int wolfSSL_set_psk_callback_ctx(WOLFSSL *ssl, void *psk_ctx)
Sets a PSK user context in the WOLFSSL structure options member.
wolfSSL_use_certificate_file
int wolfSSL_use_certificate_file(WOLFSSL *ssl, const char *file, int format)
This function loads a certificate file into the SSL session (WOLFSSL structure). The certificate file...
wolfSSL_dtls_set_timeout_max
int wolfSSL_dtls_set_timeout_max(WOLFSSL *ssl, int)
This function sets the maximum dtls timeout.
wolfSSL_get_shutdown
int wolfSSL_get_shutdown(const WOLFSSL *)
This function checks the shutdown conditions in closeNotify or connReset or sentNotify members of the...
wolfSSL_CTX_use_certificate_buffer
int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX *ctx, const unsigned char *in, long sz, int format)
This function loads a certificate buffer into the WOLFSSL Context. It behaves like the non-buffered v...
wolfSSL_CTX_allow_anon_cipher
int wolfSSL_CTX_allow_anon_cipher(WOLFSSL_CTX *)
This function enables the havAnon member of the CTX structure if HAVE_ANON is defined during compilat...
wolfSSL_DeriveTlsKeys
int wolfSSL_DeriveTlsKeys(unsigned char *key_data, word32 keyLen, const unsigned char *ms, word32 msLen, const unsigned char *sr, const unsigned char *cr, int tls1_2, int hash_type)
An external facing wrapper to derive TLS Keys.
wolfSSL_CTX_UseTruncatedHMAC
int wolfSSL_CTX_UseTruncatedHMAC(WOLFSSL_CTX *ctx)
This function is called on the client side to enable the use of Truncated HMAC for SSL objects create...
wolfSSL_set_tlsext_debug_arg
long wolfSSL_set_tlsext_debug_arg(WOLFSSL *s, void *arg)
This is used to set the debug argument passed around.
wolfSSL_GetClientWriteIV
const unsigned char * wolfSSL_GetClientWriteIV(WOLFSSL *)
Allows retrieval of the client write IV (initialization vector) from the handshake process.
wolfSSL_CTX_SetMacEncryptCb
void wolfSSL_CTX_SetMacEncryptCb(WOLFSSL_CTX *ctx, CallbackMacEncrypti cb)
Allows caller to set the Atomic User Record Processing Mac/Encrypt Callback. The callback should retu...
wolfSSL_GetMacSecret
const unsigned char * wolfSSL_GetMacSecret(WOLFSSL *ssl, int verify)
Allows retrieval of the Hmac/Mac secret from the handshake process. The verify parameter specifies wh...
wolfTLSv1_2_client_method
WOLFSSL_METHOD * wolfTLSv1_2_client_method(void)
The wolfTLSv1_2_client_method() function is used to indicate that the application is a client and wil...
wolfSSL_set_session
int wolfSSL_set_session(WOLFSSL *ssl, WOLFSSL_SESSION *session)
This function sets the session to be used when the SSL object, ssl, is used to establish a SSL/TLS co...
wolfSSL_CTX_LoadCRL
int wolfSSL_CTX_LoadCRL(WOLFSSL_CTX *ctx, const char *path, int type, int monitor)
This function loads CRL into the WOLFSSL_CTX structure through wolfSSL_CertManagerLoadCRL().
wolfSSL_SetTlsHmacInner
int wolfSSL_SetTlsHmacInner(WOLFSSL *ssl, byte *inner, word32 sz, int content, int verify)
Allows caller to set the Hmac Inner vector for message sending/receiving. The result is written to in...
wolfTLSv1_3_client_method
WOLFSSL_METHOD * wolfTLSv1_3_client_method(void)
This function is used to indicate that the application is a client and will only support the TLS 1....
wolfSSL_CTX_get_verify_depth
long wolfSSL_CTX_get_verify_depth(WOLFSSL_CTX *ctx)
This function gets the certificate chaining depth using the CTX structure.
wolfSSL_CTX_get_ephemeral_key
int wolfSSL_CTX_get_ephemeral_key(WOLFSSL_CTX *ctx, int keyAlgo, const unsigned char **key, unsigned int *keySz)
This function returns pointer to loaded key as ASN.1/DER.
wolfSSL_CTX_use_psk_identity_hint
int wolfSSL_CTX_use_psk_identity_hint(WOLFSSL_CTX *ctx, const char *hint)
This function stores the hint argument in the server_hint member of the WOLFSSL_CTX structure.
wolfSSL_set_psk_client_callback
void wolfSSL_set_psk_client_callback(WOLFSSL *ssl, wc_psk_client_callback)
Sets the PSK client side callback.
wolfSSL_CTX_SetDecryptVerifyCb
void wolfSSL_CTX_SetDecryptVerifyCb(WOLFSSL_CTX *ctx, CallbackDecryptVerify cb)
Allows caller to set the Atomic User Record Processing Decrypt/Verify Callback. The callback should r...
wolfSSL_use_PrivateKey_ASN1
int wolfSSL_use_PrivateKey_ASN1(int pri, WOLFSSL *ssl, unsigned char *der, long derSz)
This is used to set the private key for the WOLFSSL structure. A DER formatted key buffer is expected...
wolfSSL_BIO_ctrl_pending
size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b)
Gets the number of pending bytes to read. If BIO type is BIO_BIO then is the number to read from pair...
wolfSSL_get_using_nonblock
int wolfSSL_get_using_nonblock(WOLFSSL *)
This function allows the application to determine if wolfSSL is using non-blocking I/O....
wolfSSL_no_ticket_TLSv13
int wolfSSL_no_ticket_TLSv13(WOLFSSL *ssl)
This function is called on the server to stop it from sending a resumption session ticket once the ha...
wolfSSL_GetRsaVerifyCtx
void * wolfSSL_GetRsaVerifyCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key RSA Verification Callback Context previously stored with wol...
wolfSSL_CertManagerUnload_trust_peers
int wolfSSL_CertManagerUnload_trust_peers(WOLFSSL_CERT_MANAGER *cm)
The function will free the Trusted Peer linked list and unlocks the trusted peer list.
wolfSSL_EnableCRL
int wolfSSL_EnableCRL(WOLFSSL *ssl, int options)
Enables CRL certificate revocation.
wolfSSL_lib_version
const char * wolfSSL_lib_version(void)
This function returns the current library version.
wolfSSL_flush_sessions
void wolfSSL_flush_sessions(WOLFSSL_CTX *ctx, long tm)
This function flushes session from the session cache which have expired. The time,...
wolfSSL_CTX_use_certificate_chain_buffer
int wolfSSL_CTX_use_certificate_chain_buffer(WOLFSSL_CTX *ctx, const unsigned char *in, long sz)
This function loads a certificate chain buffer into the WOLFSSL Context. It behaves like the non-buff...
wolfSSL_get_alert_history
int wolfSSL_get_alert_history(WOLFSSL *ssl, WOLFSSL_ALERT_HISTORY *h)
This function gets the alert history.
wolfSSL_request_certificate
int wolfSSL_request_certificate(WOLFSSL *ssl)
This function requests a client certificate from the TLS v1.3 client. This is useful when a web serve...
wolfSSL_CTX_get_default_passwd_cb
wc_pem_password_cb * wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX *ctx)
This is a getter function for the password callback set in ctx.
wolfSSL_CTX_set_read_ahead
int wolfSSL_CTX_set_read_ahead(WOLFSSL_CTX *ctx, int v)
This function sets the read ahead flag in the WOLFSSL_CTX structure.
wolfSSL_SetMacEncryptCtx
void wolfSSL_SetMacEncryptCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Atomic User Record Processing Mac/Encrypt Callback Context to ctx.
wolfSSL_CTX_set_TicketEncCb
int wolfSSL_CTX_set_TicketEncCb(WOLFSSL_CTX *ctx, SessionTicketEncCb)
This function sets the session ticket key encrypt callback function for a server to support session t...
wolfSSL_X509_get_notBefore
WOLFSSL_ASN1_TIME * wolfSSL_X509_get_notBefore(WOLFSSL_X509 *)
The function checks to see if x509 is NULL and if it’s not, it returns the notBefore member of the x5...
wolfSSL_session_reused
int wolfSSL_session_reused(WOLFSSL *)
This function returns the resuming member of the options struct. The flag indicates whether or not to...
wolfSSL_CTX_SetOCSP_Cb
int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX *ctx, CbOCSPIO ioCb, CbOCSPRespFree respFreeCb, void *ioCbCtx)
Sets the callback for the OCSP in the WOLFSSL_CTX structure.
wolfSSL_set1_groups_list
int wolfSSL_set1_groups_list(WOLFSSL *ssl, char *list)
This function sets the list of elliptic curve groups to allow on a wolfSSL in order of preference....
wolfSSL_CertManagerEnableOCSP
int wolfSSL_CertManagerEnableOCSP(WOLFSSL_CERT_MANAGER *cm, int options)
Turns on OCSP if it’s turned off and if compiled with the set option available.
wolfSSL_SetTmpDH_buffer
int wolfSSL_SetTmpDH_buffer(WOLFSSL *ssl, const unsigned char *b, long sz, int format)
The function calls the wolfSSL_SetTMpDH_buffer_wrapper, which is a wrapper for Diffie-Hellman paramet...
wolfSSL_CTX_set_psk_client_tls13_callback
void wolfSSL_CTX_set_psk_client_tls13_callback(WOLFSSL_CTX *ctx, wc_psk_client_tls13_callback cb)
This function sets the Pre-Shared Key (PSK) client side callback for TLS v1.3 connections....
wolfSSL_get_current_cipher_suite
int wolfSSL_get_current_cipher_suite(WOLFSSL *ssl)
Returns the current cipher suit an ssl session is using.
wolfSSL_UseKeyShare
int wolfSSL_UseKeyShare(WOLFSSL *ssl, word16 group)
This function creates a key share entry from the group including generating a key pair....
wolfSSL_X509_NAME_get_text_by_NID
int wolfSSL_X509_NAME_get_text_by_NID(WOLFSSL_X509_NAME *name, int nid, char *buf, int len)
This function gets the text related to the passed in NID value.
wolfSSL_CTX_GetDevId
int wolfSSL_CTX_GetDevId(WOLFSSL_CTX *ctx, WOLFSSL *ssl)
This function retrieves the Device Id.
wolfSSL_set_compression
int wolfSSL_set_compression(WOLFSSL *ssl)
Turns on the ability to use compression for the SSL connection. Both sides must have compression turn...
wolfSSL_CTX_memrestore_cert_cache
int wolfSSL_CTX_memrestore_cert_cache(WOLFSSL_CTX *ctx, const void *mem, int sz)
This function restores the certificate cache from memory.
wolfSSL_BIO_get_mem_ptr
long wolfSSL_BIO_get_mem_ptr(WOLFSSL_BIO *bio, WOLFSSL_BUF_MEM **m)
This is a getter function for WOLFSSL_BIO memory pointer.
wolfSSL_CTX_DisableCRL
int wolfSSL_CTX_DisableCRL(WOLFSSL_CTX *ctx)
This function disables CRL verification in the CTX structure.
wolfSSL_CTX_set_cipher_list
int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX *ctx, const char *list)
This function sets cipher suite list for a given WOLFSSL_CTX. This cipher suite list becomes the defa...
wolfSSL_CTX_SetMaxDhKey_Sz
int wolfSSL_CTX_SetMaxDhKey_Sz(WOLFSSL_CTX *ctx, word16 keySz_bits)
This function sets the maximum size (in bits) of the Diffie Hellman key size by accessing the maxDhKe...
wolfSSL_CTX_set_psk_server_tls13_callback
void wolfSSL_CTX_set_psk_server_tls13_callback(WOLFSSL_CTX *ctx, wc_psk_server_tls13_callback cb)
This function sets the Pre-Shared Key (PSK) server side callback for TLS v1.3 connections....
wolfSSL_FreeArrays
void wolfSSL_FreeArrays(WOLFSSL *)
Normally, at the end of the SSL handshake, wolfSSL frees temporary arrays. If wolfSSL_KeepArrays() ha...
wolfSSL_dtls_get_using_nonblock
int wolfSSL_dtls_get_using_nonblock(WOLFSSL *)
This function allows the application to determine if wolfSSL is using non-blocking I/O with UDP....
wolfSSL_tls_import
int wolfSSL_tls_import(WOLFSSL *ssl, const unsigned char *buf, unsigned int sz)
Used to import a serialized TLS session. This function is for importing the state of the connection....
wolfSSL_CTX_SetCACb
void wolfSSL_CTX_SetCACb(WOLFSSL_CTX *ctx, CallbackCACache cb)
This function registers a callback with the SSL context (WOLFSSL_CTX) to be called when a new CA cert...
wolfSSL_GetRsaEncCtx
void * wolfSSL_GetRsaEncCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key RSA Public Encrypt Callback Context previously stored with w...
wolfSSL_SetMaxDhKey_Sz
int wolfSSL_SetMaxDhKey_Sz(WOLFSSL *ssl, word16 keySz_bits)
Sets the maximum size (in bits) for a Diffie-Hellman key in the WOLFSSL structure.
wolfSSL_check_domain_name
int wolfSSL_check_domain_name(WOLFSSL *ssl, const char *dn)
wolfSSL by default checks the peer certificate for a valid date range and a verified signature....
wolfSSL_MakeTlsMasterSecret
int wolfSSL_MakeTlsMasterSecret(unsigned char *ms, word32 msLen, const unsigned char *pms, word32 pmsLen, const unsigned char *cr, const unsigned char *sr, int tls1_2, int hash_type)
This function copies the values of cr and sr then passes through to wc_PRF (pseudo random function) a...
wolfSSL_writev
int wolfSSL_writev(WOLFSSL *ssl, const struct iovec *iov, int iovcnt)
Simulates writev semantics but doesn’t actually do block at a time because of SSL_write() behavior an...
wolfSSL_CertManagerSetCRL_Cb
int wolfSSL_CertManagerSetCRL_Cb(WOLFSSL_CERT_MANAGER *cm, CbMissingCRL cb)
This function sets the CRL Certificate Manager callback. If HAVE_CRL is defined and a matching CRL re...
wolfSSL_send_hrr_cookie
int wolfSSL_send_hrr_cookie(WOLFSSL *ssl, const unsigned char *secret, unsigned int secretSz)
This function is called on the server side to indicate that a HelloRetryRequest message must contain ...
wolfSSL_CTX_EnableOCSPStapling
int wolfSSL_CTX_EnableOCSPStapling(WOLFSSL_CTX *)
This function enables OCSP stapling by calling wolfSSL_CertManagerEnableOCSPStapling().
wolfSSL_X509_get_der
const unsigned char * wolfSSL_X509_get_der(WOLFSSL_X509 *x509, int *outSz)
This function gets the DER encoded certificate in the WOLFSSL_X509 struct.
wolfTLSv1_3_server_method_ex
WOLFSSL_METHOD * wolfTLSv1_3_server_method_ex(void *heap)
This function is used to indicate that the application is a server and will only support the TLS 1....
wolfSSL_use_RSAPrivateKey_file
int wolfSSL_use_RSAPrivateKey_file(WOLFSSL *ssl, const char *file, int format)
This function loads the private RSA key used in the SSL connection into the SSL session (WOLFSSL stru...
wolfSSL_UseMaxFragment
int wolfSSL_UseMaxFragment(WOLFSSL *ssl, unsigned char mfl)
This function is called on the client side to enable the use of Maximum Fragment Length in the SSL ob...
wolfSSL_get_error
int wolfSSL_get_error(WOLFSSL *ssl, int ret)
This function returns a unique error code describing why the previous API function call (wolfSSL_conn...
wolfSSL_CTX_get_default_passwd_cb_userdata
void * wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx)
This is a getter function for the password callback user data set in ctx.
wolfSSLv3_server_method
WOLFSSL_METHOD * wolfSSLv3_server_method(void)
The wolfSSLv3_server_method() function is used to indicate that the application is a server and will ...
wolfSSL_get_sessionID
const unsigned char * wolfSSL_get_sessionID(const WOLFSSL_SESSION *s)
Retrieves the session’s ID. The session ID is always 32 bytes long.
wolfSSL_use_old_poly
int wolfSSL_use_old_poly(WOLFSSL *ssl, int value)
Since there is some differences between the first release and newer versions of chacha-poly AEAD cons...
wolfSSL_LoadCRL
int wolfSSL_LoadCRL(WOLFSSL *ssl, const char *path, int type, int monitor)
A wrapper function that ends up calling LoadCRL to load the certificate for revocation checking.
wolfSSL_set_psk_server_tls13_callback
void wolfSSL_set_psk_server_tls13_callback(WOLFSSL *ssl, wc_psk_server_tls13_callback cb)
This function sets the Pre-Shared Key (PSK) server side callback for TLS v1.3 connections....
wolfSSL_get_psk_identity
const char * wolfSSL_get_psk_identity(const WOLFSSL *)
The function returns a constant pointer to the client_identity member of the Arrays structure.
wolfTLSv1_3_method_ex
WOLFSSL_METHOD * wolfTLSv1_3_method_ex(void *heap)
This function returns a WOLFSSL_METHOD similar to wolfTLSv1_3_client_method except that it is not det...
wolfSSL_set_fd
int wolfSSL_set_fd(WOLFSSL *ssl, int fd)
This function assigns a file descriptor (fd) as the input/output facility for the SSL connection....
wolfSSL_get_ephemeral_key
int wolfSSL_get_ephemeral_key(WOLFSSL *ssl, int keyAlgo, const unsigned char **key, unsigned int *keySz)
This function returns pointer to loaded key as ASN.1/DER.
wolfSSL_SetMinRsaKey_Sz
int wolfSSL_SetMinRsaKey_Sz(WOLFSSL *ssl, short keySz)
Sets the minimum allowable key size in bits for RSA located in the WOLFSSL structure.
wolfSSL_CTX_SetEccSignCb
void wolfSSL_CTX_SetEccSignCb(WOLFSSL_CTX *ctx, CallbackEccSign cb)
Allows caller to set the Public Key Callback for ECC Signing. The callback should return 0 for succes...
wolfDTLSv1_2_server_method
WOLFSSL_METHOD * wolfDTLSv1_2_server_method(void)
This function creates and initializes a WOLFSSL_METHOD for the server side.
wolfSSL_SetRsaDecCtx
void wolfSSL_SetRsaDecCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key RSA Private Decrypt Callback Context to ctx.
wolfSSL_GetOutputSize
int wolfSSL_GetOutputSize(WOLFSSL *ssl, int inSz)
Returns the record layer size of the plaintext input. This is helpful when an application wants to kn...
wolfSSL_GetKeySize
int wolfSSL_GetKeySize(WOLFSSL *)
Allows retrieval of the key size from the handshake process.
wolfSSL_use_certificate_chain_buffer
int wolfSSL_use_certificate_chain_buffer(WOLFSSL *ssl, const unsigned char *in, long sz)
This function loads a certificate chain buffer into the WOLFSSL object. It behaves like the non-buffe...
wolfSSL_SetEccSignCtx
void wolfSSL_SetEccSignCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Public Key Ecc Signing Callback Context to ctx.
wolfSSL_CTX_set_cert_store
void wolfSSL_CTX_set_cert_store(WOLFSSL_CTX *ctx, WOLFSSL_X509_STORE *str)
This is a setter function for the WOLFSSL_X509_STORE structure in ctx.
wolfSSL_connect_TLSv13
int wolfSSL_connect_TLSv13(WOLFSSL *)
This function is called on the client side and initiates a TLS v1.3 handshake with a server....
wolfSSL_CTX_SetMinDhKey_Sz
int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX *ctx, word16)
This function sets the minimum size (in bits) of the Diffie Hellman key size by accessing the minDhKe...
wolfSSL_SESSION_get_peer_chain
WOLFSSL_X509_CHAIN * wolfSSL_SESSION_get_peer_chain(WOLFSSL_SESSION *session)
Returns the peer certificate chain from the WOLFSSL_SESSION struct.
wolfTLSv1_1_server_method
WOLFSSL_METHOD * wolfTLSv1_1_server_method(void)
The wolfTLSv1_1_server_method() function is used to indicate that the application is a server and wil...
wolfSSL_X509_get_signature
int wolfSSL_X509_get_signature(WOLFSSL_X509 *x509, unsigned char *buf, int *bufSz)
Gets the X509 signature and stores it in the buffer.
wolfSSL_X509_free
void wolfSSL_X509_free(WOLFSSL_X509 *x509)
This function frees a WOLFSSL_X509 structure.
wolfSSL_CTX_SetRsaEncCb
void wolfSSL_CTX_SetRsaEncCb(WOLFSSL_CTX *ctx, CallbackRsaEnc cb)
Allows caller to set the Public Key Callback for RSA Public Encrypt. The callback should return 0 for...
wolfSSL_CTX_use_certificate_file
int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX *ctx, const char *file, int format)
This function loads a certificate file into the SSL context (WOLFSSL_CTX). The file is provided by th...
wolfSSL_GetRNG
WC_RNG * wolfSSL_GetRNG(WOLFSSL *ssl)
This function retrieves the random number.
wolfSSL_CTX_SetRsaSignCb
void wolfSSL_CTX_SetRsaSignCb(WOLFSSL_CTX *ctx, CallbackRsaSign cb)
Allows caller to set the Public Key Callback for RSA Signing. The callback should return 0 for succes...
wolfSSL_SESSION_get_master_key_length
int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION *ses)
This is used to get the master secret key length.
wolfSSL_CertManagerDisableCRL
int wolfSSL_CertManagerDisableCRL(WOLFSSL_CERT_MANAGER *)
Turns off Certificate Revocation List checking when verifying certificates with the Certificate Manag...
wolfSSL_CTX_set_tlsext_status_arg
long wolfSSL_CTX_set_tlsext_status_arg(WOLFSSL_CTX *ctx, void *arg)
This function sets the options argument to use with OCSP.
wolfSSL_BIO_set_fp
long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c)
This is used to set the internal file pointer for a BIO.
wolfSSL_ERR_error_string
char * wolfSSL_ERR_error_string(unsigned long, char *)
This function converts an error code returned by wolfSSL_get_error() into a more human-readable error...
wolfSSL_UseOCSPStapling
int wolfSSL_UseOCSPStapling(WOLFSSL *ssl, unsigned char status_type, unsigned char options)
Stapling eliminates the need to contact the CA. Stapling lowers the cost of certificate revocation ch...
wolfSSL_CTX_get_cert_cache_memsize
int wolfSSL_CTX_get_cert_cache_memsize(WOLFSSL_CTX *)
Returns the size the certificate cache save buffer needs to be.
wolfSSL_set_max_early_data
int wolfSSL_set_max_early_data(WOLFSSL *ssl, unsigned int sz)
This function sets the maximum amount of early data that will be accepted by a TLS v1....
wolfSSL_CTX_Unload_trust_peers
int wolfSSL_CTX_Unload_trust_peers(WOLFSSL_CTX *)
This function is used to unload all previously loaded trusted peer certificates. Feature is enabled b...
wolfSSL_connect_cert
int wolfSSL_connect_cert(WOLFSSL *ssl)
This function is called on the client side and initiates an SSL/TLS handshake with a server only long...
wolfSSL_dtls_get_current_timeout
int wolfSSL_dtls_get_current_timeout(WOLFSSL *ssl)
This function returns the current timeout value in seconds for the WOLFSSL object....
wolfSSL_set_using_nonblock
void wolfSSL_set_using_nonblock(WOLFSSL *ssl, int nonblock)
This function informs the WOLFSSL object that the underlying I/O is non-blocking. After an applicatio...
wolfSSL_UseSupportedCurve
int wolfSSL_UseSupportedCurve(WOLFSSL *ssl, word16 name)
This function is called on the client side to enable the use of Supported Elliptic Curves Extension i...
wolfSSL_SNI_GetFromBuffer
int wolfSSL_SNI_GetFromBuffer(const unsigned char *clientHello, unsigned int helloSz, unsigned char type, unsigned char *sni, unsigned int *inOutSz)
This function is called on the server side to retrieve the Server Name Indication provided by the cli...
wolfSSL_peek
int wolfSSL_peek(WOLFSSL *ssl, void *data, int sz)
This function copies sz bytes from the SSL session (ssl) internal read buffer into the buffer data....
wolfSSL_CTX_UseOCSPStaplingV2
int wolfSSL_CTX_UseOCSPStaplingV2(WOLFSSL_CTX *ctx, unsigned char status_type, unsigned char options)
Creates and initializes the certificate status request for OCSP Stapling.
wolfSSL_X509_get_signature_type
int wolfSSL_X509_get_signature_type(WOLFSSL_X509 *)
This function returns the value stored in the sigOID member of the WOLFSSL_X509 structure.
wolfSSL_CTX_SetCRL_Cb
int wolfSSL_CTX_SetCRL_Cb(WOLFSSL_CTX *ctx, CbMissingCRL cb)
This function will set the callback argument to the cbMissingCRL member of the WOLFSSL_CERT_MANAGER s...
wolfSSL_CertManagerLoadCRLBuffer
int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER *cm, const unsigned char *buff, long sz, int type)
The function loads the CRL file by calling BufferLoadCRL.
wolfSSLv3_client_method
WOLFSSL_METHOD * wolfSSLv3_client_method(void)
The wolfSSLv3_client_method() function is used to indicate that the application is a client and will ...
wolfTLSv1_3_server_method
WOLFSSL_METHOD * wolfTLSv1_3_server_method(void)
This function is used to indicate that the application is a server and will only support the TLS 1....
wolfSSL_RSA_sign_generic_padding
int wolfSSL_RSA_sign_generic_padding(int type, const unsigned char *m, unsigned int mLen, unsigned char *sigRet, unsigned int *sigLen, WOLFSSL_RSA *rsa, int flag, int padding)
Sign a message with the chosen message digest, padding, and RSA key.
wolfSSL_dtls_export
int wolfSSL_dtls_export(WOLFSSL *ssl, unsigned char *buf, unsigned int *sz)
The wolfSSL_dtls_export() function is used to serialize a WOLFSSL session into the provided buffer....
b
WC_RNG byte * b
Definition: random.h:210
wolfSSL_get_version
const char * wolfSSL_get_version(WOLFSSL *)
Returns the SSL version being used as a string.
wolfSSL_GetRsaSignCtx
void * wolfSSL_GetRsaSignCtx(WOLFSSL *ssl)
Allows caller to retrieve the Public Key RSA Signing Callback Context previously stored with wolfSSL_...
wolfSSLv23_server_method
WOLFSSL_METHOD * wolfSSLv23_server_method(void)
The wolfSSLv23_server_method() function is used to indicate that the application is a server and will...
wolfSSL_SetDecryptVerifyCtx
void wolfSSL_SetDecryptVerifyCtx(WOLFSSL *ssl, void *ctx)
Allows caller to set the Atomic User Record Processing Decrypt/Verify Callback Context to ctx.
wolfSSL_CertManagerVerifyBuffer
int wolfSSL_CertManagerVerifyBuffer(WOLFSSL_CERT_MANAGER *cm, const unsigned char *buff, long sz, int format)
Specifies the certificate buffer to verify with the Certificate Manager context. The format can be SS...
wolfSSL_memrestore_session_cache
int wolfSSL_memrestore_session_cache(const void *mem, int sz)
This function restores the persistent session cache from memory.