Lines Matching refs:SSL

5  * This package is an SSL implementation written
7 * The implementation was written so as to conform with Netscapes SSL.
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
384 typedef int (*tls_session_ticket_ext_cb_fn) (SSL *s,
387 typedef int (*tls_session_secret_cb_fn) (SSL *s, void *secret,
417 int (*ssl_new) (SSL *s);
418 void (*ssl_clear) (SSL *s);
419 void (*ssl_free) (SSL *s);
420 int (*ssl_accept) (SSL *s);
421 int (*ssl_connect) (SSL *s);
422 int (*ssl_read) (SSL *s, void *buf, int len);
423 int (*ssl_peek) (SSL *s, void *buf, int len);
424 int (*ssl_write) (SSL *s, const void *buf, int len);
425 int (*ssl_shutdown) (SSL *s);
426 int (*ssl_renegotiate) (SSL *s);
427 int (*ssl_renegotiate_check) (SSL *s);
428 long (*ssl_get_message) (SSL *s, int st1, int stn, int mt, long
430 int (*ssl_read_bytes) (SSL *s, int type, unsigned char *buf, int len,
432 int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, int len);
433 int (*ssl_dispatch_alert) (SSL *s);
434 long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg);
438 int (*ssl_pending) (const SSL *s);
445 long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void));
453 * SSLversion INTEGER, -- SSL version number
573 * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in
575 * workaround is not needed. Unfortunately some broken SSL/TLS
689 * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they
736 size_t len, SSL *ssl, void *arg));
737 void SSL_set_msg_callback(SSL *ssl,
740 size_t len, SSL *ssl, void *arg));
752 int (*TLS_ext_srp_username_callback) (SSL *, int *, void *);
754 int (*SRP_verify_param_callback) (SSL *, void *);
756 char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *);
768 int SSL_SRP_CTX_init(SSL *s);
770 int SSL_SRP_CTX_free(SSL *ctx);
772 int SSL_srp_server_param_with_username(SSL *s, int *ad);
773 int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key);
774 int SRP_Calc_A_param(SSL *s);
775 int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key);
790 * This callback type is used inside SSL_CTX, SSL, and in the functions that
791 * set them. It is used to override the generation of SSL/TLS session IDs in
794 * otherwise the SSL handshake will fail with an error - callbacks can do
804 typedef int (*GEN_SESSION_CB) (const SSL *ssl, unsigned char *id,
864 int sess_connect; /* SSL new conn - started */
865 int sess_connect_renegotiate; /* SSL reneg - requested */
866 int sess_connect_good; /* SSL new conne/reneg - finished */
867 int sess_accept; /* SSL new accept - started */
868 int sess_accept_renegotiate; /* SSL reneg - requested */
869 int sess_accept_good; /* SSL accept/reneg - finished */
898 int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey);
901 int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie,
905 int (*app_verify_cookie_cb) (SSL *ssl, unsigned char *cookie,
917 /* Default values used when no per-SSL value is defined follow */
919 /* used if SSL's info_callback is NULL */
920 void (*info_callback) (const SSL *ssl, int type, int val);
926 * Default values to use in SSL structures follow (these are copied by
939 const void *buf, size_t len, SSL *ssl, void *arg);
945 /* called 'verify_callback' in the SSL */
975 int (*tlsext_servername_callback) (SSL *, int *, void *);
982 int (*tlsext_ticket_key_cb) (SSL *ssl,
989 int (*tlsext_status_cb) (SSL *ssl, void *arg);
993 int (*tlsext_opaque_prf_input_callback) (SSL *, void *peerinput,
1000 unsigned int (*psk_client_callback) (SSL *ssl, const char *hint,
1005 unsigned int (*psk_server_callback) (SSL *ssl, const char *identity,
1030 int (*next_protos_advertised_cb) (SSL *s, const unsigned char **buf,
1037 int (*next_proto_select_cb) (SSL *s, unsigned char **out,
1109 void (*cb) (const SSL *ssl, int type,
1111 void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type,
1114 int (*client_cert_cb) (SSL *ssl, X509 **x509,
1116 int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,
1122 int (*app_gen_cookie_cb) (SSL *ssl,
1128 int (*app_verify_cookie_cb) (SSL *ssl,
1135 int (*cb) (SSL *ssl,
1141 int (*cb) (SSL *ssl,
1152 void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data,
1168 unsigned int (*psk_client_callback) (SSL
1184 void SSL_set_psk_client_callback(SSL *ssl,
1185 unsigned int (*psk_client_callback) (SSL
1202 unsigned int (*psk_server_callback) (SSL
1213 void SSL_set_psk_server_callback(SSL *ssl,
1214 unsigned int (*psk_server_callback) (SSL
1226 int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint);
1227 const char *SSL_get_psk_identity_hint(const SSL *s);
1228 const char *SSL_get_psk_identity(const SSL *s);
1283 int (*handshake_func) (SSL *);
1323 const void *buf, size_t len, SSL *ssl, void *arg);
1376 void (*info_callback) (const SSL *ssl, int type, int val);
1386 unsigned int (*psk_client_callback) (SSL *ssl, const char *hint,
1391 unsigned int (*psk_server_callback) (SSL *ssl, const char *identity,
1418 void (*tlsext_debug_cb) (SSL *s, int client_server, int type,
1534 * indicate where we are up to in the SSL connection establishment. The
1585 size_t SSL_get_finished(const SSL *s, void *buf, size_t count);
1586 size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
1826 int SSL_want(const SSL *s);
1827 int SSL_clear(SSL *s);
1831 const SSL_CIPHER *SSL_get_current_cipher(const SSL *s);
1837 int SSL_get_fd(const SSL *s);
1838 int SSL_get_rfd(const SSL *s);
1839 int SSL_get_wfd(const SSL *s);
1840 const char *SSL_get_cipher_list(const SSL *s, int n);
1841 char *SSL_get_shared_ciphers(const SSL *s, char *buf, int len);
1842 int SSL_get_read_ahead(const SSL *s);
1843 int SSL_pending(const SSL *s);
1845 int SSL_set_fd(SSL *s, int fd);
1846 int SSL_set_rfd(SSL *s, int fd);
1847 int SSL_set_wfd(SSL *s, int fd);
1850 void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio);
1851 BIO *SSL_get_rbio(const SSL *s);
1852 BIO *SSL_get_wbio(const SSL *s);
1854 int SSL_set_cipher_list(SSL *s, const char *str);
1855 void SSL_set_read_ahead(SSL *s, int yes);
1856 int SSL_get_verify_mode(const SSL *s);
1857 int SSL_get_verify_depth(const SSL *s);
1858 int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *);
1859 void SSL_set_verify(SSL *s, int mode,
1861 void SSL_set_verify_depth(SSL *s, int depth);
1863 int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
1865 int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);
1866 int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
1867 int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d,
1869 int SSL_use_certificate(SSL *ssl, X509 *x);
1870 int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);
1873 int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
1874 int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
1875 int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
1895 const char *SSL_state_string(const SSL *s);
1896 const char *SSL_rstate_string(const SSL *s);
1897 const char *SSL_state_string_long(const SSL *s);
1898 const char *SSL_rstate_string_long(const SSL *s);
1903 void SSL_copy_session_id(SSL *to, const SSL *from);
1920 int SSL_set_session(SSL *to, SSL_SESSION *session);
1924 int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB);
1925 int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id,
1931 X509 *SSL_get_peer_certificate(const SSL *s);
1934 STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s);
1962 int SSL_check_private_key(const SSL *ctx);
1967 SSL *SSL_new(SSL_CTX *ctx);
1968 int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
1972 int SSL_set_purpose(SSL *s, int purpose);
1974 int SSL_set_trust(SSL *s, int trust);
1977 int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);
1984 char *(*cb) (SSL *, void *));
1986 int (*cb) (SSL *, void *));
1988 int (*cb) (SSL *, int *, void *));
1991 int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
1993 int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
1996 BIGNUM *SSL_get_srp_g(SSL *s);
1997 BIGNUM *SSL_get_srp_N(SSL *s);
1999 char *SSL_get_srp_username(SSL *s);
2000 char *SSL_get_srp_userinfo(SSL *s);
2003 void SSL_free(SSL *ssl);
2004 int SSL_accept(SSL *ssl);
2005 int SSL_connect(SSL *ssl);
2006 int SSL_read(SSL *ssl, void *buf, int num);
2007 int SSL_peek(SSL *ssl, void *buf, int num);
2008 int SSL_write(SSL *ssl, const void *buf, int num);
2009 long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg);
2010 long SSL_callback_ctrl(SSL *, int, void (*)(void));
2014 int SSL_get_error(const SSL *s, int ret_code);
2015 const char *SSL_get_version(const SSL *s);
2017 /* This sets the 'default' SSL version that SSL_new() will create */
2032 const SSL_METHOD *SSLv23_method(void); /* Negotiate highest available SSL/TLS
2035 * SSL/TLS version */
2037 * SSL/TLS version */
2055 STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s);
2057 int SSL_do_handshake(SSL *s);
2058 int SSL_renegotiate(SSL *s);
2059 int SSL_renegotiate_abbreviated(SSL *s);
2060 int SSL_renegotiate_pending(SSL *s);
2061 int SSL_shutdown(SSL *s);
2063 const SSL_METHOD *SSL_get_ssl_method(SSL *s);
2064 int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
2070 void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
2072 STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s);
2074 int SSL_add_client_CA(SSL *ssl, X509 *x);
2077 void SSL_set_connect_state(SSL *s);
2078 void SSL_set_accept_state(SSL *s);
2080 long SSL_get_default_timeout(const SSL *s);
2087 SSL *SSL_dup(SSL *ssl);
2089 X509 *SSL_get_certificate(const SSL *ssl);
2092 */ struct evp_pkey_st *SSL_get_privatekey(SSL *ssl);
2096 void SSL_set_quiet_shutdown(SSL *ssl, int mode);
2097 int SSL_get_quiet_shutdown(const SSL *ssl);
2098 void SSL_set_shutdown(SSL *ssl, int mode);
2099 int SSL_get_shutdown(const SSL *ssl);
2100 int SSL_version(const SSL *ssl);
2105 SSL_SESSION *SSL_get_session(const SSL *ssl);
2106 SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */
2107 SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
2108 SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx);
2109 void SSL_set_info_callback(SSL *ssl,
2110 void (*cb) (const SSL *ssl, int type, int val));
2111 void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type,
2113 int SSL_state(const SSL *ssl);
2114 void SSL_set_state(SSL *ssl, int state);
2116 void SSL_set_verify_result(SSL *ssl, long v);
2117 long SSL_get_verify_result(const SSL *ssl);
2119 int SSL_set_ex_data(SSL *ssl, int idx, void *data);
2120 void *SSL_get_ex_data(const SSL *ssl, int idx);
2171 RSA *(*cb) (SSL *ssl, int is_export,
2174 void SSL_set_tmp_rsa_callback(SSL *ssl,
2175 RSA *(*cb) (SSL *ssl, int is_export,
2180 DH *(*dh) (SSL *ssl, int is_export,
2182 void SSL_set_tmp_dh_callback(SSL *ssl,
2183 DH *(*dh) (SSL *ssl, int is_export,
2188 EC_KEY *(*ecdh) (SSL *ssl, int is_export,
2190 void SSL_set_tmp_ecdh_callback(SSL *ssl,
2191 EC_KEY *(*ecdh) (SSL *ssl, int is_export,
2196 const COMP_METHOD *SSL_get_current_compression(SSL *s);
2197 const COMP_METHOD *SSL_get_current_expansion(SSL *s);
2202 const void *SSL_get_current_compression(SSL *s);
2203 const void *SSL_get_current_expansion(SSL *s);
2210 int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len);
2212 int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb,
2216 int SSL_set_session_secret_cb(SSL *s,
2220 void SSL_set_debug(SSL *s, int debug);
2221 int SSL_cache_hit(SSL *s);
2234 /* Error codes for the SSL functions. */