📄 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(SSL_CTX *ctx);X509_STORE *SSL_CTX_get_cert_store(SSL_CTX *);void SSL_CTX_set_cert_store(SSL_CTX *,X509_STORE *);int SSL_want(SSL *s);int SSL_clear(SSL *s);void SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm);SSL_CIPHER *SSL_get_current_cipher(SSL *s);int SSL_CIPHER_get_bits(SSL_CIPHER *c,int *alg_bits);char * SSL_CIPHER_get_version(SSL_CIPHER *c);const char * SSL_CIPHER_get_name(SSL_CIPHER *c);int SSL_get_fd(SSL *s);int SSL_get_rfd(SSL *s);int SSL_get_wfd(SSL *s);const char * SSL_get_cipher_list(SSL *s,int n);char * SSL_get_shared_ciphers(SSL *s, char *buf, int len);int SSL_get_read_ahead(SSL * s);int SSL_pending(SSL *s);#ifndef 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 NO_BIOvoid SSL_set_bio(SSL *s, BIO *rbio,BIO *wbio);BIO * SSL_get_rbio(SSL *s);BIO * SSL_get_wbio(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(SSL *s);int SSL_get_verify_depth(SSL *s);int (*SSL_get_verify_callback(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 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, unsigned char *d, long len);int SSL_use_certificate(SSL *ssl, X509 *x);int SSL_use_certificate_ASN1(SSL *ssl, unsigned char *d, int len);#ifndef 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);int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, const char *dir);#endifvoid SSL_load_error_strings(void );char * SSL_state_string(SSL *s);char * SSL_rstate_string(SSL *s);char * SSL_state_string_long(SSL *s);char * SSL_rstate_string_long(SSL *s);long SSL_SESSION_get_time(SSL_SESSION *s);long SSL_SESSION_set_time(SSL_SESSION *s, long t);long SSL_SESSION_get_timeout(SSL_SESSION *s);long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);void SSL_copy_session_id(SSL *to,SSL *from);SSL_SESSION *SSL_SESSION_new(void);unsigned long SSL_SESSION_hash(SSL_SESSION *a);int SSL_SESSION_cmp(SSL_SESSION *a,SSL_SESSION *b);#ifndef NO_FP_APIint SSL_SESSION_print_fp(FILE *fp,SSL_SESSION *ses);#endif#ifndef NO_BIOint SSL_SESSION_print(BIO *fp,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);SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a,unsigned char **pp,long length);#ifdef HEADER_X509_HX509 * SSL_get_peer_certificate(SSL *s);#endifSTACK_OF(X509) *SSL_get_peer_cert_chain(SSL *s);#ifdef VMS#define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud#endifint SSL_CTX_get_verify_mode(SSL_CTX *ctx);int SSL_CTX_get_verify_depth(SSL_CTX *ctx);int (*SSL_CTX_get_verify_callback(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)(),char *arg);#ifndef NO_RSAint SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);#endifint SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, 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, 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, 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(SSL_CTX *ctx);int SSL_check_private_key(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, char *parg);long SSL_callback_ctrl(SSL *, int, void (*)());long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd, long larg, char *parg);long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)());int SSL_get_error(SSL *s,int ret_code);const char *SSL_get_version(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 */STACK_OF(SSL_CIPHER) *SSL_get_ciphers(SSL *s);int SSL_do_handshake(SSL *s);int SSL_renegotiate(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);char *SSL_alert_type_string_long(int value);char *SSL_alert_type_string(int value);char *SSL_alert_desc_string_long(int value);char *SSL_alert_desc_string(int value);void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *list);void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *list);STACK_OF(X509_NAME) *SSL_get_client_CA_list(SSL *s);STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(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(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(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(SSL_CTX *ctx);void SSL_set_quiet_shutdown(SSL *ssl,int mode);int SSL_get_quiet_shutdown(SSL *ssl);void SSL_set_shutdown(SSL *ssl,int mode);int SSL_get_shutdown(SSL *ssl);int SSL_version(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(SSL *ssl);SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */SSL_CTX *SSL_get_SSL_CTX(SSL *ssl);void SSL_set_info_callback(SSL *ssl,void (*cb)());void (*SSL_get_info_callback(SSL *ssl))();int SSL_state(SSL *ssl);void SSL_set_verify_result(SSL *ssl,long v);long SSL_get_verify_result(SSL *ssl);int SSL_set_ex_data(SSL *ssl,int idx,void *data);void *SSL_get_ex_data(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(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(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) /* NB: the keylength is only applicable when is_export is true */#ifndef 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 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 NO_COMPint SSL_COMP_add_compression_method(int id,COMP_METHOD *cm);#elseint SSL_COMP_add_compression_method(int id,char *cm);#endif/* BEGIN ERROR CODES *//* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */void ERR_load_SSL_strings(void);/* Error codes for the SSL functions. *//* Function codes. */#define SSL_F_CLIENT_CERTIFICATE 100#define SSL_F_CLIENT_FINISHED 238#define SSL_F_CLIENT_HELLO 101#define SSL_F_CLIENT_MASTER_KEY 102#define SSL_F_D2I_SSL_SESSION 103#define SSL_F_DO_SSL3_WRITE 104#define SSL_F_GET_CLIENT_FINISHED 105#define SSL_F_GET_CLIENT_HELLO 106#define SSL_F_GET_CLIENT_MASTER_KEY 107#define SSL_F_GET_SERVER_FINISHED 108#define SSL_F_GET_SERVER_HELLO 109#define SSL_F_GET_SERVER_VERIFY 110#define SSL_F_I2D_SSL_SESSION 111#define SSL_F_READ_N 112#define SSL_F_REQUEST_CERTIFICATE 113#define SSL_F_SERVER_FINISH 239#define SSL_F_SERVER_HELLO 114#define SSL_F_SERVER_VERIFY 240#define SSL_F_SSL23_ACCEPT 115#define SSL_F_SSL23_CLIENT_HELLO 116#define SSL_F_SSL23_CONNECT 117#define SSL_F_SSL23_GET_CLIENT_HELLO 118#define SSL_F_SSL23_GET_SERVER_HELLO 119#define SSL_F_SSL23_PEEK 237#define SSL_F_SSL23_READ 120#define SSL_F_SSL23_WRITE 121#define SSL_F_SSL2_ACCEPT 122#define SSL_F_SSL2_CONNECT 123#define SSL_F_SSL2_ENC_INIT 124#define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241#define SSL_F_SSL2_PEEK 234#define SSL_F_SSL2_READ 125#define SSL_F_SSL2_READ_INTERNAL 236
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -