亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ssl.h

?? openssl加密例子
?? H
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
		int sess_accept_good;	/* SSL accept/reneg - finished */
		int sess_miss;		/* session lookup misses  */
		int sess_timeout;	/* reuse attempt on timeouted session */
		int sess_cache_full;	/* session removed due to full cache */
		int sess_hit;		/* session reuse actually done */
		int sess_cb_hit;	/* session-id that was not
					 * in the cache was
					 * passed back via the callback.  This
					 * indicates that the application is
					 * supplying session-id's from other
					 * processes - spooky :-) */
		} stats;

	int references;

	/* if defined, these override the X509_verify_cert() calls */
	int (*app_verify_callback)(X509_STORE_CTX *, void *);
	void *app_verify_arg;
	/* before OpenSSL 0.9.7, 'app_verify_arg' was ignored
	 * ('app_verify_callback' was called with just one argument) */

	/* Default password callback. */
	pem_password_cb *default_passwd_callback;

	/* Default password callback user data. */
	void *default_passwd_callback_userdata;

	/* get client cert callback */
	int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey);

	CRYPTO_EX_DATA ex_data;

	const EVP_MD *rsa_md5;/* For SSLv2 - name is 'ssl2-md5' */
	const EVP_MD *md5;	/* For SSLv3/TLSv1 'ssl3-md5' */
	const EVP_MD *sha1;   /* For SSLv3/TLSv1 'ssl3->sha1' */

	STACK_OF(X509) *extra_certs;
	STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */


	/* Default values used when no per-SSL value is defined follow */

	void (*info_callback)(const SSL *ssl,int type,int val); /* used if SSL's info_callback is NULL */

	/* what we put in client cert requests */
	STACK_OF(X509_NAME) *client_CA;


	/* Default values to use in SSL structures follow (these are copied by SSL_new) */

	unsigned long options;
	unsigned long mode;
	long max_cert_list;

	struct cert_st /* CERT */ *cert;
	int read_ahead;

	/* callback that allows applications to peek at protocol messages */
	void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg);
	void *msg_callback_arg;

	int verify_mode;
	int verify_depth;
	unsigned int sid_ctx_length;
	unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
	int (*default_verify_callback)(int ok,X509_STORE_CTX *ctx); /* called 'verify_callback' in the SSL */

	/* Default generate session ID callback. */
	GEN_SESSION_CB generate_session_id;

	int purpose;		/* Purpose setting */
	int trust;		/* Trust setting */

	int quiet_shutdown;
	};

#define SSL_SESS_CACHE_OFF			0x0000
#define SSL_SESS_CACHE_CLIENT			0x0001
#define SSL_SESS_CACHE_SERVER			0x0002
#define SSL_SESS_CACHE_BOTH	(SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER)
#define SSL_SESS_CACHE_NO_AUTO_CLEAR		0x0080
/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */
#define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP	0x0100
#define SSL_SESS_CACHE_NO_INTERNAL_STORE	0x0200
#define SSL_SESS_CACHE_NO_INTERNAL \
	(SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE)

  struct lhash_st *SSL_CTX_sessions(SSL_CTX *ctx);
#define SSL_CTX_sess_number(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL)
#define SSL_CTX_sess_connect(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL)
#define SSL_CTX_sess_connect_good(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL)
#define SSL_CTX_sess_connect_renegotiate(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL)
#define SSL_CTX_sess_accept(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL)
#define SSL_CTX_sess_accept_renegotiate(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL)
#define SSL_CTX_sess_accept_good(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL)
#define SSL_CTX_sess_hits(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL)
#define SSL_CTX_sess_cb_hits(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL)
#define SSL_CTX_sess_misses(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL)
#define SSL_CTX_sess_timeouts(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL)
#define SSL_CTX_sess_cache_full(ctx) \
	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL)

#define SSL_CTX_sess_set_new_cb(ctx,cb)	((ctx)->new_session_cb=(cb))
#define SSL_CTX_sess_get_new_cb(ctx)	((ctx)->new_session_cb)
#define SSL_CTX_sess_set_remove_cb(ctx,cb)	((ctx)->remove_session_cb=(cb))
#define SSL_CTX_sess_get_remove_cb(ctx)	((ctx)->remove_session_cb)
#define SSL_CTX_sess_set_get_cb(ctx,cb)	((ctx)->get_session_cb=(cb))
#define SSL_CTX_sess_get_get_cb(ctx)	((ctx)->get_session_cb)
#define SSL_CTX_set_info_callback(ctx,cb)	((ctx)->info_callback=(cb))
#define SSL_CTX_get_info_callback(ctx)		((ctx)->info_callback)
#define SSL_CTX_set_client_cert_cb(ctx,cb)	((ctx)->client_cert_cb=(cb))
#define SSL_CTX_get_client_cert_cb(ctx)		((ctx)->client_cert_cb)

#define SSL_NOTHING	1
#define SSL_WRITING	2
#define SSL_READING	3
#define SSL_X509_LOOKUP	4

/* These will only be used when doing non-blocking IO */
#define SSL_want_nothing(s)	(SSL_want(s) == SSL_NOTHING)
#define SSL_want_read(s)	(SSL_want(s) == SSL_READING)
#define SSL_want_write(s)	(SSL_want(s) == SSL_WRITING)
#define SSL_want_x509_lookup(s)	(SSL_want(s) == SSL_X509_LOOKUP)

struct ssl_st
	{
	/* protocol version
	 * (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION)
	 */
	int version;
	int type; /* SSL_ST_CONNECT or SSL_ST_ACCEPT */

	SSL_METHOD *method; /* SSLv3 */

	/* There are 2 BIO's even though they are normally both the
	 * same.  This is so data can be read and written to different
	 * handlers */

#ifndef OPENSSL_NO_BIO
	BIO *rbio; /* used by SSL_read */
	BIO *wbio; /* used by SSL_write */
	BIO *bbio; /* used during session-id reuse to concatenate
		    * messages */
#else
	char *rbio; /* used by SSL_read */
	char *wbio; /* used by SSL_write */
	char *bbio;
#endif
	/* This holds a variable that indicates what we were doing
	 * when a 0 or -1 is returned.  This is needed for
	 * non-blocking IO so we know what request needs re-doing when
	 * in SSL_accept or SSL_connect */
	int rwstate;

	/* true when we are actually in SSL_accept() or SSL_connect() */
	int in_handshake;
	int (*handshake_func)();

	/* Imagine that here's a boolean member "init" that is
	 * switched as soon as SSL_set_{accept/connect}_state
	 * is called for the first time, so that "state" and
	 * "handshake_func" are properly initialized.  But as
	 * handshake_func is == 0 until then, we use this
	 * test instead of an "init" member.
	 */

	int server;	/* are we the server side? - mostly used by SSL_clear*/

	int new_session;/* 1 if we are to use a new session.
	                 * 2 if we are a server and are inside a handshake
	                 *   (i.e. not just sending a HelloRequest)
	                 * NB: For servers, the 'new' session may actually be a previously
	                 * cached session or even the previous session unless
	                 * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set */
	int quiet_shutdown;/* don't send shutdown packets */
	int shutdown;	/* we have shut things down, 0x01 sent, 0x02
			 * for received */
	int state;	/* where we are */
	int rstate;	/* where we are when reading */

	BUF_MEM *init_buf;	/* buffer used during init */
	void *init_msg;   	/* pointer to handshake message body, set by ssl3_get_message() */
	int init_num;		/* amount read/written */
	int init_off;		/* amount read/written */

	/* used internally to point at a raw packet */
	unsigned char *packet;
	unsigned int packet_length;

	struct ssl2_state_st *s2; /* SSLv2 variables */
	struct ssl3_state_st *s3; /* SSLv3 variables */

	int read_ahead;		/* Read as many input bytes as possible
	               	 	 * (for non-blocking reads) */

	/* callback that allows applications to peek at protocol messages */
	void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg);
	void *msg_callback_arg;

	int hit;		/* reusing a previous session */

	int purpose;		/* Purpose setting */
	int trust;		/* Trust setting */

	/* crypto */
	STACK_OF(SSL_CIPHER) *cipher_list;
	STACK_OF(SSL_CIPHER) *cipher_list_by_id;

	/* These are the ones being used, the ones in SSL_SESSION are
	 * the ones to be 'copied' into these ones */

	EVP_CIPHER_CTX *enc_read_ctx;		/* cryptographic state */
	const EVP_MD *read_hash;		/* used for mac generation */
#ifndef OPENSSL_NO_COMP
	COMP_CTX *expand;			/* uncompress */
#else
	char *expand;
#endif

	EVP_CIPHER_CTX *enc_write_ctx;		/* cryptographic state */
	const EVP_MD *write_hash;		/* used for mac generation */
#ifndef OPENSSL_NO_COMP
	COMP_CTX *compress;			/* compression */
#else
	char *compress;	
#endif

	/* session info */

	/* client cert? */
	/* This is used to hold the server certificate used */
	struct cert_st /* CERT */ *cert;

	/* the session_id_context is used to ensure sessions are only reused
	 * in the appropriate context */
	unsigned int sid_ctx_length;
	unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];

	/* This can also be in the session once a session is established */
	SSL_SESSION *session;

	/* Default generate session ID callback. */
	GEN_SESSION_CB generate_session_id;

	/* Used in SSL2 and SSL3 */
	int verify_mode;	/* 0 don't care about verify failure.
				 * 1 fail if verify fails */
	int verify_depth;
	int (*verify_callback)(int ok,X509_STORE_CTX *ctx); /* fail if callback returns 0 */

	void (*info_callback)(const SSL *ssl,int type,int val); /* optional informational callback */

	int error;		/* error bytes to be written */
	int error_code;		/* actual code */

#ifndef OPENSSL_NO_KRB5
	KSSL_CTX *kssl_ctx;     /* Kerberos 5 context */
#endif	/* OPENSSL_NO_KRB5 */

	SSL_CTX *ctx;
	/* set this flag to 1 and a sleep(1) is put into all SSL_read()
	 * and SSL_write() calls, good for nbio debuging :-) */
	int debug;	

	/* extra application data */
	long verify_result;
	CRYPTO_EX_DATA ex_data;

	/* for server side, keep the list of CA_dn we can use */
	STACK_OF(X509_NAME) *client_CA;

	int references;
	unsigned long options; /* protocol behaviour */
	unsigned long mode; /* API behaviour */
	long max_cert_list;
	int first_packet;
	int client_version;	/* what was passed, used for
				 * SSLv3/TLS rollback check */
	};

#ifdef __cplusplus
}
#endif

#include <openssl/ssl2.h>
#include <openssl/ssl3.h>
#include <openssl/tls1.h> /* This is mostly sslv3 with a few tweaks */
#include <openssl/ssl23.h>

#ifdef  __cplusplus
extern "C" {
#endif

/* compatibility */
#define SSL_set_app_data(s,arg)		(SSL_set_ex_data(s,0,(char *)arg))
#define SSL_get_app_data(s)		(SSL_get_ex_data(s,0))
#define SSL_SESSION_set_app_data(s,a)	(SSL_SESSION_set_ex_data(s,0,(char *)a))
#define SSL_SESSION_get_app_data(s)	(SSL_SESSION_get_ex_data(s,0))
#define SSL_CTX_get_app_data(ctx)	(SSL_CTX_get_ex_data(ctx,0))
#define SSL_CTX_set_app_data(ctx,arg)	(SSL_CTX_set_ex_data(ctx,0,(char *)arg))

/* The following are the possible values for ssl->state are are
 * used to indicate where we are up to in the SSL connection establishment.
 * The macros that follow are about the only things you should need to use
 * and even then, only when using non-blocking IO.
 * It can also be useful to work out where you were when the connection
 * failed */

#define SSL_ST_CONNECT			0x1000
#define SSL_ST_ACCEPT			0x2000

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本伊人色综合网| 精品亚洲成a人| 免费高清在线视频一区·| 亚洲桃色在线一区| 亚洲精品日韩一| 国产成人av一区二区三区在线| 成人午夜激情在线| 日韩色视频在线观看| 亚洲免费资源在线播放| 国产黑丝在线一区二区三区| 成人黄色大片在线观看| 日韩欧美电影一二三| 亚洲一区二区在线视频| 99视频一区二区| 久久精品一二三| 麻豆免费精品视频| 欧美日韩国产美| 亚洲午夜免费视频| 91老师片黄在线观看| 欧美国产在线观看| 国产成人无遮挡在线视频| 欧美电影免费观看高清完整版在| 中文成人av在线| 精品国产自在久精品国产| 午夜精品一区二区三区免费视频 | 久久成人免费网站| 亚洲国产日韩在线一区模特| 视频一区免费在线观看| 久久疯狂做爰流白浆xx| 91精品麻豆日日躁夜夜躁| 亚洲午夜影视影院在线观看| 色婷婷一区二区三区四区| 日韩三级精品电影久久久| 亚洲成人免费看| 国产大片一区二区| 欧美色视频一区| 亚洲最快最全在线视频| 色综合天天性综合| 精品国产sm最大网站免费看 | 久久精品网站免费观看| 久久99国产精品久久99 | 色欲综合视频天天天| 欧美www视频| 久久99热这里只有精品| 日韩三级免费观看| 亚洲精品在线观看视频| 麻豆极品一区二区三区| 欧美精品一区二区三区很污很色的| 一区二区三区日韩| 美国毛片一区二区| 精品久久人人做人人爽| 精品中文字幕一区二区小辣椒| 91国模大尺度私拍在线视频| 国产激情视频一区二区在线观看| 欧美在线不卡视频| 亚洲电影你懂得| 日韩亚洲电影在线| 亚洲精品欧美在线| 成人动漫精品一区二区| 最近中文字幕一区二区三区| 极品瑜伽女神91| 欧美人与z0zoxxxx视频| ㊣最新国产の精品bt伙计久久| 激情久久久久久久久久久久久久久久| 精品国产乱码久久久久久图片| 国产成人午夜高潮毛片| 精品少妇一区二区三区免费观看 | 一卡二卡三卡日韩欧美| 欧美日韩一级片网站| 国产精品欧美一区喷水| 色哟哟在线观看一区二区三区| 亚洲一区二区三区四区在线观看 | 欧美日韩国产综合一区二区 | 中文字幕在线观看不卡视频| 日本中文字幕一区二区有限公司| 欧美精品精品一区| 亚洲色图制服诱惑| 色狠狠一区二区三区香蕉| 国产亚洲一区二区在线观看| 日本在线不卡视频| 欧美欧美午夜aⅴ在线观看| 国产精品麻豆欧美日韩ww| 成人免费高清视频在线观看| 中文字幕亚洲欧美在线不卡| 国产老肥熟一区二区三区| 久久久精品黄色| 91天堂素人约啪| 亚洲国产精品影院| 日韩写真欧美这视频| 精品午夜久久福利影院| 欧美v亚洲v综合ⅴ国产v| 亚洲自拍偷拍网站| 91精品国产综合久久福利| 一区二区三区高清| 67194成人在线观看| 亚洲va国产天堂va久久en| 日韩一区二区三区视频在线观看 | 亚洲乱码国产乱码精品精的特点 | 亚洲国产人成综合网站| 3751色影院一区二区三区| 日韩一区欧美小说| 成人晚上爱看视频| 艳妇臀荡乳欲伦亚洲一区| 日本电影欧美片| 免费在线观看一区二区三区| 国产日本亚洲高清| 国内精品免费**视频| 久久久久久亚洲综合| 色综合天天做天天爱| 蜜臀久久久久久久| 亚洲欧美怡红院| 日韩欧美一级二级三级| 不卡在线观看av| 一区二区三区四区不卡视频| 日韩免费高清av| 91在线小视频| 中文字幕免费在线观看视频一区| 欧美日韩日日骚| 亚洲美女视频在线观看| 91女神在线视频| 亚洲在线视频免费观看| 51精品久久久久久久蜜臀| 国产成人免费xxxxxxxx| 五月婷婷激情综合| 欧美极品aⅴ影院| 99精品国产视频| 美女尤物国产一区| 久久久亚洲午夜电影| 国产高清一区日本| 日韩专区欧美专区| 久久香蕉国产线看观看99| 99r国产精品| 极品尤物av久久免费看| 亚洲国产日韩一区二区| 久久久久久97三级| 日韩一区二区中文字幕| 日本电影欧美片| 日韩国产一区二| 亚洲丝袜另类动漫二区| 欧美午夜精品电影| www.日韩av| 国产精品资源网站| 亚洲成a天堂v人片| 国产午夜精品久久久久久久 | 亚洲视频一区二区在线| 久久影视一区二区| 3atv一区二区三区| 成人激情视频网站| 午夜精品成人在线| 久久久久国产免费免费| 欧美一级日韩一级| 在线观看日韩av先锋影音电影院| heyzo一本久久综合| 青青草原综合久久大伊人精品优势 | 高清不卡一二三区| 成人禁用看黄a在线| 欧美精品一区二区三区四区| 成人av午夜影院| 国产精品美女久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美综合久久久| 91国内精品野花午夜精品| 欧美国产在线观看| 国产综合色在线视频区| 2021国产精品久久精品| 精品久久久久久久久久久久久久久久久 | 一本色道久久加勒比精品| 美女网站在线免费欧美精品| 亚洲高清三级视频| 国产日韩三级在线| 欧美日韩黄色影视| 欧美一区二区三区免费在线看| 欧美日韩一区二区不卡| 69堂成人精品免费视频| av一区二区不卡| 蜜臀精品久久久久久蜜臀| 日韩激情视频网站| 国产夜色精品一区二区av| 精品国产伦一区二区三区观看方式 | 香蕉久久夜色精品国产使用方法| 视频一区二区三区中文字幕| 久久婷婷国产综合精品青草| 国产精品入口麻豆九色| 69久久夜色精品国产69蝌蚪网| 日韩欧美不卡在线观看视频| 日韩写真欧美这视频| 久久久久久久一区| 国产欧美一区视频| 亚洲女同女同女同女同女同69| 91精品国产色综合久久ai换脸| 91在线免费视频观看| 91免费观看视频| 91精品黄色片免费大全| 国产一区二区在线免费观看| 成人综合在线视频| 亚洲va欧美va天堂v国产综合| 久久超碰97人人做人人爱| 国产老妇另类xxxxx| 91九色02白丝porn| 99久久夜色精品国产网站|