⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssl.h

📁 一个用于点对点传输加密的工具包源码
💻 H
📖 第 1 页 / 共 4 页
字号:
	(char *(*)())SSL_SESSION_new,(char *(*)())d2i_SSL_SESSION, \	(bp),(unsigned char **)(s_id))#define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio(i2d_SSL_SESSION, \	bp,(unsigned char *)s_id)#define PEM_read_SSL_SESSION(fp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read( \	(char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u)#define PEM_read_bio_SSL_SESSION(bp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read_bio( \	(char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,(char **)x,cb,u)#define PEM_write_SSL_SESSION(fp,x) \	PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \		PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL)#define PEM_write_bio_SSL_SESSION(bp,x) \	PEM_ASN1_write_bio((int (*)())i2d_SSL_SESSION, \		PEM_STRING_SSL_SESSION,bp, (char *)x, NULL,NULL,0,NULL,NULL)#endif#define SSL_AD_REASON_OFFSET		1000/* These alert types are for SSLv3 and TLSv1 */#define SSL_AD_CLOSE_NOTIFY		SSL3_AD_CLOSE_NOTIFY#define SSL_AD_UNEXPECTED_MESSAGE	SSL3_AD_UNEXPECTED_MESSAGE /* fatal */#define SSL_AD_BAD_RECORD_MAC		SSL3_AD_BAD_RECORD_MAC     /* fatal */#define SSL_AD_DECRYPTION_FAILED	TLS1_AD_DECRYPTION_FAILED#define SSL_AD_RECORD_OVERFLOW		TLS1_AD_RECORD_OVERFLOW#define SSL_AD_DECOMPRESSION_FAILURE	SSL3_AD_DECOMPRESSION_FAILURE/* fatal */#define SSL_AD_HANDSHAKE_FAILURE	SSL3_AD_HANDSHAKE_FAILURE/* fatal */#define SSL_AD_NO_CERTIFICATE		SSL3_AD_NO_CERTIFICATE /* Not for TLS */#define SSL_AD_BAD_CERTIFICATE		SSL3_AD_BAD_CERTIFICATE#define SSL_AD_UNSUPPORTED_CERTIFICATE	SSL3_AD_UNSUPPORTED_CERTIFICATE#define SSL_AD_CERTIFICATE_REVOKED	SSL3_AD_CERTIFICATE_REVOKED#define SSL_AD_CERTIFICATE_EXPIRED	SSL3_AD_CERTIFICATE_EXPIRED#define SSL_AD_CERTIFICATE_UNKNOWN	SSL3_AD_CERTIFICATE_UNKNOWN#define SSL_AD_ILLEGAL_PARAMETER	SSL3_AD_ILLEGAL_PARAMETER   /* fatal */#define SSL_AD_UNKNOWN_CA		TLS1_AD_UNKNOWN_CA	/* fatal */#define SSL_AD_ACCESS_DENIED		TLS1_AD_ACCESS_DENIED	/* fatal */#define SSL_AD_DECODE_ERROR		TLS1_AD_DECODE_ERROR	/* fatal */#define SSL_AD_DECRYPT_ERROR		TLS1_AD_DECRYPT_ERROR#define SSL_AD_EXPORT_RESTRICTION	TLS1_AD_EXPORT_RESTRICTION/* fatal */#define SSL_AD_PROTOCOL_VERSION		TLS1_AD_PROTOCOL_VERSION /* fatal */#define SSL_AD_INSUFFICIENT_SECURITY	TLS1_AD_INSUFFICIENT_SECURITY/* fatal */#define SSL_AD_INTERNAL_ERROR		TLS1_AD_INTERNAL_ERROR	/* fatal */#define SSL_AD_USER_CANCELLED		TLS1_AD_USER_CANCELLED#define SSL_AD_NO_RENEGOTIATION		TLS1_AD_NO_RENEGOTIATION#define SSL_ERROR_NONE			0#define SSL_ERROR_SSL			1#define SSL_ERROR_WANT_READ		2#define SSL_ERROR_WANT_WRITE		3#define SSL_ERROR_WANT_X509_LOOKUP	4#define SSL_ERROR_SYSCALL		5 /* look at error stack/return value/errno */#define SSL_ERROR_ZERO_RETURN		6#define SSL_ERROR_WANT_CONNECT		7#define SSL_CTRL_NEED_TMP_RSA			1#define SSL_CTRL_SET_TMP_RSA			2#define SSL_CTRL_SET_TMP_DH			3#define SSL_CTRL_SET_TMP_RSA_CB			4#define SSL_CTRL_SET_TMP_DH_CB			5/* Add these ones */#define SSL_CTRL_GET_SESSION_REUSED		6#define SSL_CTRL_GET_CLIENT_CERT_REQUEST	7#define SSL_CTRL_GET_NUM_RENEGOTIATIONS		8#define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS	9#define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS	10#define SSL_CTRL_GET_FLAGS			11#define SSL_CTRL_EXTRA_CHAIN_CERT		12/* Stats */#define SSL_CTRL_SESS_NUMBER			20#define SSL_CTRL_SESS_CONNECT			21#define SSL_CTRL_SESS_CONNECT_GOOD		22#define SSL_CTRL_SESS_CONNECT_RENEGOTIATE	23#define SSL_CTRL_SESS_ACCEPT			24#define SSL_CTRL_SESS_ACCEPT_GOOD		25#define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE	26#define SSL_CTRL_SESS_HIT			27#define SSL_CTRL_SESS_CB_HIT			28#define SSL_CTRL_SESS_MISSES			29#define SSL_CTRL_SESS_TIMEOUTS			30#define SSL_CTRL_SESS_CACHE_FULL		31#define SSL_CTRL_OPTIONS			32#define SSL_CTRL_MODE			33#define SSL_CTRL_GET_READ_AHEAD			40#define SSL_CTRL_SET_READ_AHEAD			41#define SSL_CTRL_SET_SESS_CACHE_SIZE		42#define SSL_CTRL_GET_SESS_CACHE_SIZE		43#define SSL_CTRL_SET_SESS_CACHE_MODE		44#define SSL_CTRL_GET_SESS_CACHE_MODE		45#define SSL_session_reused(ssl) \	SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL)#define SSL_num_renegotiations(ssl) \	SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL)#define SSL_clear_num_renegotiations(ssl) \	SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL)#define SSL_total_renegotiations(ssl) \	SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL)#define SSL_CTX_need_tmp_RSA(ctx) \	SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL)#define SSL_CTX_set_tmp_rsa(ctx,rsa) \	SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa)#define SSL_CTX_set_tmp_dh(ctx,dh) \	SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh)#define SSL_need_tmp_RSA(ssl) \	SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL)#define SSL_set_tmp_rsa(ssl,rsa) \	SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa)#define SSL_set_tmp_dh(ssl,dh) \	SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh)#define SSL_CTX_add_extra_chain_cert(ctx,x509) \	SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)/* VMS uses only 31 characters for symbols. */#ifdef VMS#undef SSL_CTX_set_cert_verify_callback#define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb#undef SSL_CTX_use_certificate_chain_file#define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file#undef SSL_CTX_set_default_verify_paths#define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths#undef SSL_get_ex_data_X509_STORE_CTX_idx#define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_data_X509_STOR_CTX_i#undef SSL_add_file_cert_subjects_to_stack#define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_sub_to_stack#undef SSL_add_dir_cert_subjects_to_stack#define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_sub_to_stack#endif#ifndef NO_BIOBIO_METHOD *BIO_f_ssl(void);BIO *BIO_new_ssl(SSL_CTX *ctx,int client);BIO *BIO_new_ssl_connect(SSL_CTX *ctx);BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx);int BIO_ssl_copy_session_id(BIO *to,BIO *from);void BIO_ssl_shutdown(BIO *ssl_bio);#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);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	ERR_load_SSL_strings(void );void	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,char *buf,int num);int 	SSL_peek(SSL *ssl,char *buf,int num);int 	SSL_write(SSL *ssl,const char *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) \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -