📄 ssl.h
字号:
#endifint SSL_CTX_set_cipher_list(SSL_CTX *,const char *str);SSL_CTX *SSL_CTX_new(SSL_METHOD *meth);void SSL_CTX_free(SSL_CTX *);long SSL_CTX_set_timeout(SSL_CTX *ctx,long t);long SSL_CTX_get_timeout(const SSL_CTX *ctx);X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);void SSL_CTX_set_cert_store(SSL_CTX *,X509_STORE *);int SSL_want(const SSL *s);int SSL_clear(SSL *s);void SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm);SSL_CIPHER *SSL_get_current_cipher(const SSL *s);int SSL_CIPHER_get_bits(const SSL_CIPHER *c,int *alg_bits);char * SSL_CIPHER_get_version(const SSL_CIPHER *c);const char * SSL_CIPHER_get_name(const SSL_CIPHER *c);int SSL_get_fd(const SSL *s);int SSL_get_rfd(const SSL *s);int SSL_get_wfd(const SSL *s);const char * SSL_get_cipher_list(const SSL *s,int n);char * SSL_get_shared_ciphers(const SSL *s, char *buf, int len);int SSL_get_read_ahead(const SSL * s);int SSL_pending(const SSL *s);#ifndef OPENSSL_NO_SOCKint SSL_set_fd(SSL *s, int fd);int SSL_set_rfd(SSL *s, int fd);int SSL_set_wfd(SSL *s, int fd);#endif#ifndef OPENSSL_NO_BIOvoid SSL_set_bio(SSL *s, BIO *rbio,BIO *wbio);BIO * SSL_get_rbio(const SSL *s);BIO * SSL_get_wbio(const SSL *s);#endifint SSL_set_cipher_list(SSL *s, const char *str);void SSL_set_read_ahead(SSL *s, int yes);int SSL_get_verify_mode(const SSL *s);int SSL_get_verify_depth(const SSL *s);int (*SSL_get_verify_callback(const SSL *s))(int,X509_STORE_CTX *);void SSL_set_verify(SSL *s, int mode, int (*callback)(int ok,X509_STORE_CTX *ctx));void SSL_set_verify_depth(SSL *s, int depth);#ifndef OPENSSL_NO_RSAint SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);#endifint SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);int SSL_use_PrivateKey_ASN1(int pk,SSL *ssl, const unsigned char *d, long len);int SSL_use_certificate(SSL *ssl, X509 *x);int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);#ifndef OPENSSL_NO_STDIOint SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);int SSL_use_certificate_file(SSL *ssl, const char *file, int type);int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type);int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); /* PEM type */STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, const char *file);#ifndef OPENSSL_SYS_VMS#ifndef OPENSSL_SYS_MACINTOSH_CLASSIC /* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, const char *dir);#endif#endif#endifvoid SSL_load_error_strings(void );const char *SSL_state_string(const SSL *s);const char *SSL_rstate_string(const SSL *s);const char *SSL_state_string_long(const SSL *s);const char *SSL_rstate_string_long(const SSL *s);long SSL_SESSION_get_time(const SSL_SESSION *s);long SSL_SESSION_set_time(SSL_SESSION *s, long t);long SSL_SESSION_get_timeout(const SSL_SESSION *s);long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);void SSL_copy_session_id(SSL *to,const SSL *from);SSL_SESSION *SSL_SESSION_new(void);unsigned long SSL_SESSION_hash(const SSL_SESSION *a);int SSL_SESSION_cmp(const SSL_SESSION *a,const SSL_SESSION *b);const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len);#ifndef OPENSSL_NO_FP_APIint SSL_SESSION_print_fp(FILE *fp,const SSL_SESSION *ses);#endif#ifndef OPENSSL_NO_BIOint SSL_SESSION_print(BIO *fp,const SSL_SESSION *ses);#endifvoid SSL_SESSION_free(SSL_SESSION *ses);int i2d_SSL_SESSION(SSL_SESSION *in,unsigned char **pp);int SSL_set_session(SSL *to, SSL_SESSION *session);int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c);int SSL_CTX_remove_session(SSL_CTX *,SSL_SESSION *c);int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB);int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB);int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, unsigned int id_len);SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a,const unsigned char **pp, long length);#ifdef HEADER_X509_HX509 * SSL_get_peer_certificate(const SSL *s);#endifSTACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s);int SSL_CTX_get_verify_mode(const SSL_CTX *ctx);int SSL_CTX_get_verify_depth(const SSL_CTX *ctx);int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int,X509_STORE_CTX *);void SSL_CTX_set_verify(SSL_CTX *ctx,int mode, int (*callback)(int, X509_STORE_CTX *));void SSL_CTX_set_verify_depth(SSL_CTX *ctx,int depth);void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, int (*cb)(X509_STORE_CTX *,void *), void *arg);#ifndef OPENSSL_NO_RSAint SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);#endifint SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len);int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);int SSL_CTX_use_PrivateKey_ASN1(int pk,SSL_CTX *ctx, const unsigned char *d, long len);int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d);void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb);void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u);int SSL_CTX_check_private_key(const SSL_CTX *ctx);int SSL_check_private_key(const SSL *ctx);int SSL_CTX_set_session_id_context(SSL_CTX *ctx,const unsigned char *sid_ctx, unsigned int sid_ctx_len);SSL * SSL_new(SSL_CTX *ctx);int SSL_set_session_id_context(SSL *ssl,const unsigned char *sid_ctx, unsigned int sid_ctx_len);int SSL_CTX_set_purpose(SSL_CTX *s, int purpose);int SSL_set_purpose(SSL *s, int purpose);int SSL_CTX_set_trust(SSL_CTX *s, int trust);int SSL_set_trust(SSL *s, int trust);void SSL_free(SSL *ssl);int SSL_accept(SSL *ssl);int SSL_connect(SSL *ssl);int SSL_read(SSL *ssl,void *buf,int num);int SSL_peek(SSL *ssl,void *buf,int num);int SSL_write(SSL *ssl,const void *buf,int num);long SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);long SSL_callback_ctrl(SSL *, int, void (*)(void));long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd, long larg, void *parg);long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void));int SSL_get_error(const SSL *s,int ret_code);const char *SSL_get_version(const SSL *s);/* This sets the 'default' SSL version that SSL_new() will create */int SSL_CTX_set_ssl_version(SSL_CTX *ctx,SSL_METHOD *meth);SSL_METHOD *SSLv2_method(void); /* SSLv2 */SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */SSL_METHOD *SSLv3_method(void); /* SSLv3 */SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */SSL_METHOD *SSLv23_method(void); /* SSLv3 but can rollback to v2 */SSL_METHOD *SSLv23_server_method(void); /* SSLv3 but can rollback to v2 */SSL_METHOD *SSLv23_client_method(void); /* SSLv3 but can rollback to v2 */SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s);int SSL_do_handshake(SSL *s);int SSL_renegotiate(SSL *s);int SSL_renegotiate_pending(SSL *s);int SSL_shutdown(SSL *s);SSL_METHOD *SSL_get_ssl_method(SSL *s);int SSL_set_ssl_method(SSL *s,SSL_METHOD *method);const char *SSL_alert_type_string_long(int value);const char *SSL_alert_type_string(int value);const char *SSL_alert_desc_string_long(int value);const char *SSL_alert_desc_string(int value);void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s);STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s);int SSL_add_client_CA(SSL *ssl,X509 *x);int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x);void SSL_set_connect_state(SSL *s);void SSL_set_accept_state(SSL *s);long SSL_get_default_timeout(const SSL *s);int SSL_library_init(void );char *SSL_CIPHER_description(SSL_CIPHER *,char *buf,int size);STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk);SSL *SSL_dup(SSL *ssl);X509 *SSL_get_certificate(const SSL *ssl);/* EVP_PKEY */ struct evp_pkey_st *SSL_get_privatekey(SSL *ssl);void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx,int mode);int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);void SSL_set_quiet_shutdown(SSL *ssl,int mode);int SSL_get_quiet_shutdown(const SSL *ssl);void SSL_set_shutdown(SSL *ssl,int mode);int SSL_get_shutdown(const SSL *ssl);int SSL_version(const SSL *ssl);int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);#define SSL_get0_session SSL_get_session /* just peek at pointer */SSL_SESSION *SSL_get_session(const SSL *ssl);SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX* ctx);void SSL_set_info_callback(SSL *ssl, void (*cb)(const SSL *ssl,int type,int val));void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,int type,int val);int SSL_state(const SSL *ssl);void SSL_set_verify_result(SSL *ssl,long v);long SSL_get_verify_result(const SSL *ssl);int SSL_set_ex_data(SSL *ssl,int idx,void *data);void *SSL_get_ex_data(const SSL *ssl,int idx);int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);int SSL_SESSION_set_ex_data(SSL_SESSION *ss,int idx,void *data);void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss,int idx);int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);int SSL_CTX_set_ex_data(SSL_CTX *ssl,int idx,void *data);void *SSL_CTX_get_ex_data(const SSL_CTX *ssl,int idx);int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);int SSL_get_ex_data_X509_STORE_CTX_idx(void );#define SSL_CTX_sess_set_cache_size(ctx,t) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL)#define SSL_CTX_sess_get_cache_size(ctx) \ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL)#define SSL_CTX_set_session_cache_mode(ctx,m) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL)#define SSL_CTX_get_session_cache_mode(ctx) \ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL)#define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx)#define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m)#define SSL_CTX_get_read_ahead(ctx) \ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL)#define SSL_CTX_set_read_ahead(ctx,m) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL)#define SSL_CTX_get_max_cert_list(ctx) \ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)#define SSL_CTX_set_max_cert_list(ctx,m) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)#define SSL_get_max_cert_list(ssl) \ SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)#define SSL_set_max_cert_list(ssl,m) \ SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) /* NB: the keylength is only applicable when is_export is true */#ifndef OPENSSL_NO_RSAvoid SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, RSA *(*cb)(SSL *ssl,int is_export, int keylength));void SSL_set_tmp_rsa_callback(SSL *ssl, RSA *(*cb)(SSL *ssl,int is_export, int keylength));#endif#ifndef OPENSSL_NO_DHvoid SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*dh)(SSL *ssl,int is_export, int keylength));void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*dh)(SSL *ssl,int is_export, int keylength));#endif#ifndef OPENSSL_NO_ECDHvoid SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, EC_KEY *(*ecdh)(SSL *ssl,int is_export, int keylength));void SSL_set_tmp_ecdh_callback(SSL *ssl, EC_KEY *(*ecdh)(SSL *ssl,int is_export, int keylength));#endif#ifndef OPENSSL_NO_COMPconst COMP_METHOD *SSL_get_current_compression(SSL *s);const COMP_METHOD *SSL_get_current_expansion(SSL *s);const char *SSL_COMP_get_name(const COMP_METHOD *comp);STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);int SSL_COMP_add_compression_method(int id,COMP_METHOD *cm);#elseconst void *SSL_get_current_compression(SSL *s);const void *SSL_get_current_expansion(SSL *s);const char *SSL_COMP_get_name(const void *comp);void *SSL_COMP_get_co
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -