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

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

?? dh_lib.c

?? openssl包含TLS
?? C
字號(hào):
/* crypto/dh/dh_lib.c *//* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. *  * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to.  The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code.  The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). *  * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *    "This product includes cryptographic software written by *     Eric Young (eay@cryptsoft.com)" *    The word 'cryptographic' can be left out if the rouines from the library *    being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from  *    the apps directory (application code) you must include an acknowledgement: *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" *  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed.  i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */#include <stdio.h>#include "cryptlib.h"#include <openssl/bn.h>#include <openssl/dh.h>#ifndef OPENSSL_NO_ENGINE#include <openssl/engine.h>#endifconst char *DH_version="Diffie-Hellman" OPENSSL_VERSION_PTEXT;static const DH_METHOD *default_DH_method = NULL;void DH_set_default_method(const DH_METHOD *meth)	{	default_DH_method = meth;	}const DH_METHOD *DH_get_default_method(void)	{	if(!default_DH_method)		default_DH_method = DH_OpenSSL();	return default_DH_method;	}int DH_set_method(DH *dh, const DH_METHOD *meth)	{	/* NB: The caller is specifically setting a method, so it's not up to us	 * to deal with which ENGINE it comes from. */        const DH_METHOD *mtmp;        mtmp = dh->meth;        if (mtmp->finish) mtmp->finish(dh);#ifndef OPENSSL_NO_ENGINE	if (dh->engine)		{		ENGINE_finish(dh->engine);		dh->engine = NULL;		}#endif        dh->meth = meth;        if (meth->init) meth->init(dh);        return 1;	}DH *DH_new(void)	{	return DH_new_method(NULL);	}DH *DH_new_method(ENGINE *engine)	{	DH *ret;	ret=(DH *)OPENSSL_malloc(sizeof(DH));	if (ret == NULL)		{		DHerr(DH_F_DH_NEW_METHOD,ERR_R_MALLOC_FAILURE);		return(NULL);		}	ret->meth = DH_get_default_method();#ifndef OPENSSL_NO_ENGINE	if (engine)		{		if (!ENGINE_init(engine))			{			DHerr(DH_F_DH_NEW_METHOD, ERR_R_ENGINE_LIB);			OPENSSL_free(ret);			return NULL;			}		ret->engine = engine;		}	else		ret->engine = ENGINE_get_default_DH();	if(ret->engine)		{		ret->meth = ENGINE_get_DH(ret->engine);		if(!ret->meth)			{			DHerr(DH_F_DH_NEW_METHOD,ERR_R_ENGINE_LIB);			ENGINE_finish(ret->engine);			OPENSSL_free(ret);			return NULL;			}		}#endif	ret->pad=0;	ret->version=0;	ret->p=NULL;	ret->g=NULL;	ret->length=0;	ret->pub_key=NULL;	ret->priv_key=NULL;	ret->q=NULL;	ret->j=NULL;	ret->seed = NULL;	ret->seedlen = 0;	ret->counter = NULL;	ret->method_mont_p=NULL;	ret->references = 1;	ret->flags=ret->meth->flags;	CRYPTO_new_ex_data(CRYPTO_EX_INDEX_DH, ret, &ret->ex_data);	if ((ret->meth->init != NULL) && !ret->meth->init(ret))		{#ifndef OPENSSL_NO_ENGINE		if (ret->engine)			ENGINE_finish(ret->engine);#endif		CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DH, ret, &ret->ex_data);		OPENSSL_free(ret);		ret=NULL;		}	return(ret);	}void DH_free(DH *r)	{	int i;	if(r == NULL) return;	i = CRYPTO_add(&r->references, -1, CRYPTO_LOCK_DH);#ifdef REF_PRINT	REF_PRINT("DH",r);#endif	if (i > 0) return;#ifdef REF_CHECK	if (i < 0)		{		fprintf(stderr,"DH_free, bad reference count\n");		abort();	}#endif	if (r->meth->finish)		r->meth->finish(r);#ifndef OPENSSL_NO_ENGINE	if (r->engine)		ENGINE_finish(r->engine);#endif	CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DH, r, &r->ex_data);	if (r->p != NULL) BN_clear_free(r->p);	if (r->g != NULL) BN_clear_free(r->g);	if (r->q != NULL) BN_clear_free(r->q);	if (r->j != NULL) BN_clear_free(r->j);	if (r->seed) OPENSSL_free(r->seed);	if (r->counter != NULL) BN_clear_free(r->counter);	if (r->pub_key != NULL) BN_clear_free(r->pub_key);	if (r->priv_key != NULL) BN_clear_free(r->priv_key);	OPENSSL_free(r);	}int DH_up_ref(DH *r)	{	int i = CRYPTO_add(&r->references, 1, CRYPTO_LOCK_DH);#ifdef REF_PRINT	REF_PRINT("DH",r);#endif#ifdef REF_CHECK	if (i < 2)		{		fprintf(stderr, "DH_up, bad reference count\n");		abort();		}#endif	return ((i > 1) ? 1 : 0);	}int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,	     CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)        {	return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, argl, argp,				new_func, dup_func, free_func);        }int DH_set_ex_data(DH *d, int idx, void *arg)	{	return(CRYPTO_set_ex_data(&d->ex_data,idx,arg));	}void *DH_get_ex_data(DH *d, int idx)	{	return(CRYPTO_get_ex_data(&d->ex_data,idx));	}int DH_size(const DH *dh)	{	return(BN_num_bytes(dh->p));	}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区二区| 精品福利在线导航| 国产成人欧美日韩在线电影| 一区二区三区日韩欧美精品| 日韩午夜在线播放| 在线观看视频一区二区欧美日韩| 国产一区二区在线观看视频| 午夜精品久久久久久久久久 | 亚洲一二三四在线观看| 久久色在线视频| 欧美精品少妇一区二区三区| 99九九99九九九视频精品| 国精产品一区一区三区mba视频| 亚洲国产中文字幕在线视频综合| 中文一区在线播放 | 亚洲人成网站影音先锋播放| 精品福利在线导航| 亚洲精选视频在线| 久久久久久久久99精品| 欧美一卡二卡三卡四卡| 欧美在线不卡一区| 91浏览器打开| 91理论电影在线观看| 国产suv精品一区二区三区| 久久国产精品99精品国产| 天堂午夜影视日韩欧美一区二区| 亚洲永久精品大片| 亚洲人成精品久久久久| 中文字幕日韩av资源站| 中文字幕av一区二区三区高 | 男男成人高潮片免费网站| 亚洲第一激情av| 亚洲午夜免费电影| 亚洲综合偷拍欧美一区色| 亚洲精品ww久久久久久p站| 国产精品国产三级国产普通话三级| 国产日韩欧美精品综合| 国产婷婷色一区二区三区 | 精品卡一卡二卡三卡四在线| 欧美一区二区免费视频| 日韩一区二区三区免费观看 | 亚洲人成电影网站色mp4| 中文字幕一区二区三区视频| 中文一区二区完整视频在线观看| 国产午夜久久久久| 国产精品毛片久久久久久久| 国产精品污www在线观看| 国产精品久久一卡二卡| 国产欧美日韩综合| 国产精品久线在线观看| 亚洲免费看黄网站| 亚洲一区二区免费视频| 日韩国产精品大片| 国内精品久久久久影院薰衣草| 国产乱人伦偷精品视频不卡| 国产福利一区二区三区视频| 成人av网站在线观看免费| 92国产精品观看| 欧美人伦禁忌dvd放荡欲情| 欧美一区二区高清| 国产视频911| 亚洲精品视频免费观看| 亚洲va欧美va人人爽午夜| 免费不卡在线观看| 国产成人av影院| 欧美在线观看视频在线| 日韩欧美国产1| 国产精品污污网站在线观看 | 日产精品久久久久久久性色| 精品一区二区三区久久久| www.综合网.com| 欧美日本一区二区三区| 久久久99久久| 尤物在线观看一区| 免费在线视频一区| av电影在线观看不卡| 正在播放亚洲一区| 中文字幕乱码一区二区免费| 亚洲一卡二卡三卡四卡无卡久久| 麻豆91在线观看| 色综合天天天天做夜夜夜夜做| 欧美日韩精品一区二区三区| 国产女主播一区| 婷婷久久综合九色综合绿巨人 | 在线播放国产精品二区一二区四区| 精品日韩av一区二区| 亚洲女女做受ⅹxx高潮| 久久99国产精品久久99果冻传媒| 不卡欧美aaaaa| 欧美一区二区三区视频免费| 日韩毛片精品高清免费| 捆绑调教一区二区三区| 91久久精品一区二区二区| 久久亚洲二区三区| 亚洲va在线va天堂| 成人免费视频视频| 日韩一区二区不卡| 亚洲精品第一国产综合野| 韩国欧美国产1区| 欧美在线制服丝袜| 国产精品免费网站在线观看| 蜜芽一区二区三区| 91久久一区二区| 国产精品拍天天在线| 久久超碰97人人做人人爱| 欧美日韩精品一区二区三区四区 | 欧美一二三在线| 一区二区在线观看av| 国产福利91精品| 欧美一区二区二区| 婷婷激情综合网| 欧美在线你懂的| 亚洲美腿欧美偷拍| av电影天堂一区二区在线| 国产亚洲精久久久久久| 日本午夜一区二区| 88在线观看91蜜桃国自产| 亚洲欧美色图小说| 91网站最新地址| 国产精品成人免费| 国产成人久久精品77777最新版本| 日韩美一区二区三区| 五月激情综合网| 欧美精品一卡两卡| 天堂一区二区在线免费观看| 欧美日韩另类一区| 亚洲制服丝袜一区| 欧美在线免费视屏| 亚洲不卡av一区二区三区| 欧美日韩中文精品| 亚洲成人av一区二区三区| 欧美在线观看一区| 亚洲高清视频中文字幕| 欧美日韩中文字幕一区二区| 亚洲电影你懂得| 欧美高清视频不卡网| 日韩一区精品字幕| 欧美一区日本一区韩国一区| 视频一区国产视频| 欧美一级片在线看| 精品在线你懂的| 精品国产第一区二区三区观看体验| 极品美女销魂一区二区三区| 精品国产欧美一区二区| 精品一区二区在线观看| 久久久久久久久久久99999| 国产成人av福利| 一区在线播放视频| 色噜噜狠狠成人网p站| 亚洲不卡av一区二区三区| 91精品国产综合久久久久久久 | 中文字幕欧美日韩一区| 成人aa视频在线观看| 亚洲欧美日韩国产综合在线 | 国产婷婷一区二区| 不卡欧美aaaaa| 亚洲综合色区另类av| 欧美福利一区二区| 韩国av一区二区| 综合欧美亚洲日本| 欧美福利一区二区| 国产电影一区二区三区| 亚洲免费观看高清完整版在线 | 欧美日韩情趣电影| 精品亚洲欧美一区| 中文字幕成人av| 欧美色图在线观看| 精品亚洲成a人| 亚洲欧洲日产国产综合网| 精品视频免费在线| 国产一区二区网址| 一区二区三区在线高清| 日韩欧美国产不卡| 91丝袜美女网| 青娱乐精品在线视频| 国产欧美精品日韩区二区麻豆天美| 色婷婷综合久色| 老司机免费视频一区二区三区| 国产精品麻豆网站| 91精品国产品国语在线不卡| 成人丝袜18视频在线观看| 午夜天堂影视香蕉久久| 欧美韩日一区二区三区| 欧美日韩激情一区二区三区| 国产精品中文字幕日韩精品| 亚洲激情综合网| 久久久久久久久蜜桃| 欧美人与z0zoxxxx视频| 成人毛片老司机大片| 日本不卡视频在线| 日韩一区在线看| 久久蜜桃一区二区| 欧美精品v国产精品v日韩精品 | 国产在线一区二区综合免费视频| 亚洲伦在线观看| 久久综合色8888| 欧美日韩国产123区| 99re热这里只有精品免费视频 | av一区二区三区在线| 久久精品国产久精国产爱|