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

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

?? ech_lib.c

?? OpenSSL 0.9.8k 最新版OpenSSL
?? C
字號:
/* crypto/ecdh/ech_lib.c *//* ==================================================================== * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. * * The Elliptic Curve Public-Key Crypto Library (ECC Code) included * herein is developed by SUN MICROSYSTEMS, INC., and is contributed * to the OpenSSL project. * * The ECC Code is licensed pursuant to the OpenSSL open source * license provided below. * * The ECDH software is originally written by Douglas Stebila of * Sun Microsystems Laboratories. * *//* ==================================================================== * Copyright (c) 1998-2003 The OpenSSL Project.  All rights reserved. * * 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 above 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 acknowledgment: *    "This product includes software developed by the OpenSSL Project *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to *    endorse or promote products derived from this software without *    prior written permission. For written permission, please contact *    openssl-core@OpenSSL.org. * * 5. Products derived from this software may not be called "OpenSSL" *    nor may "OpenSSL" appear in their names without prior written *    permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following *    acknowledgment: *    "This product includes software developed by the OpenSSL Project *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED 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 OpenSSL PROJECT OR * ITS 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. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com).  This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */#include "ech_locl.h"#include <string.h>#ifndef OPENSSL_NO_ENGINE#include <openssl/engine.h>#endif#include <openssl/err.h>const char ECDH_version[]="ECDH" OPENSSL_VERSION_PTEXT;static const ECDH_METHOD *default_ECDH_method = NULL;static void *ecdh_data_new(void);static void *ecdh_data_dup(void *);static void  ecdh_data_free(void *);void ECDH_set_default_method(const ECDH_METHOD *meth)	{	default_ECDH_method = meth;	}const ECDH_METHOD *ECDH_get_default_method(void)	{	if(!default_ECDH_method) 		default_ECDH_method = ECDH_OpenSSL();	return default_ECDH_method;	}int ECDH_set_method(EC_KEY *eckey, const ECDH_METHOD *meth)	{	const ECDH_METHOD *mtmp;	ECDH_DATA *ecdh;	ecdh = ecdh_check(eckey);	if (ecdh == NULL)		return 0;        mtmp = ecdh->meth;#if 0        if (mtmp->finish)		mtmp->finish(eckey);#endif#ifndef OPENSSL_NO_ENGINE	if (ecdh->engine)		{		ENGINE_finish(ecdh->engine);		ecdh->engine = NULL;		}#endif        ecdh->meth = meth;#if 0        if (meth->init) 		meth->init(eckey);#endif        return 1;	}static ECDH_DATA *ECDH_DATA_new_method(ENGINE *engine)	{	ECDH_DATA *ret;	ret=(ECDH_DATA *)OPENSSL_malloc(sizeof(ECDH_DATA));	if (ret == NULL)		{		ECDHerr(ECDH_F_ECDH_DATA_NEW_METHOD, ERR_R_MALLOC_FAILURE);		return(NULL);		}	ret->init = NULL;	ret->meth = ECDH_get_default_method();	ret->engine = engine;#ifndef OPENSSL_NO_ENGINE	if (!ret->engine)		ret->engine = ENGINE_get_default_ECDH();	if (ret->engine)		{		ret->meth = ENGINE_get_ECDH(ret->engine);		if (!ret->meth)			{			ECDHerr(ECDH_F_ECDH_DATA_NEW_METHOD, ERR_R_ENGINE_LIB);			ENGINE_finish(ret->engine);			OPENSSL_free(ret);			return NULL;			}		}#endif	ret->flags = ret->meth->flags;	CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ECDH, ret, &ret->ex_data);#if 0	if ((ret->meth->init != NULL) && !ret->meth->init(ret))		{		CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDH, ret, &ret->ex_data);		OPENSSL_free(ret);		ret=NULL;		}#endif		return(ret);	}static void *ecdh_data_new(void)	{	return (void *)ECDH_DATA_new_method(NULL);	}static void *ecdh_data_dup(void *data){	ECDH_DATA *r = (ECDH_DATA *)data;	/* XXX: dummy operation */	if (r == NULL)		return NULL;	return (void *)ecdh_data_new();}void ecdh_data_free(void *data)	{	ECDH_DATA *r = (ECDH_DATA *)data;#ifndef OPENSSL_NO_ENGINE	if (r->engine)		ENGINE_finish(r->engine);#endif	CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDH, r, &r->ex_data);	OPENSSL_cleanse((void *)r, sizeof(ECDH_DATA));	OPENSSL_free(r);	}ECDH_DATA *ecdh_check(EC_KEY *key)	{	ECDH_DATA *ecdh_data; 	void *data = EC_KEY_get_key_method_data(key, ecdh_data_dup,					ecdh_data_free, ecdh_data_free);	if (data == NULL)	{		ecdh_data = (ECDH_DATA *)ecdh_data_new();		if (ecdh_data == NULL)			return NULL;		EC_KEY_insert_key_method_data(key, (void *)ecdh_data,			ecdh_data_dup, ecdh_data_free, ecdh_data_free);	}	else		ecdh_data = (ECDH_DATA *)data;		return ecdh_data;	}int ECDH_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_ECDH, argl, argp,				new_func, dup_func, free_func);	}int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg)	{	ECDH_DATA *ecdh;	ecdh = ecdh_check(d);	if (ecdh == NULL)		return 0;	return(CRYPTO_set_ex_data(&ecdh->ex_data,idx,arg));	}void *ECDH_get_ex_data(EC_KEY *d, int idx)	{	ECDH_DATA *ecdh;	ecdh = ecdh_check(d);	if (ecdh == NULL)		return NULL;	return(CRYPTO_get_ex_data(&ecdh->ex_data,idx));	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精的特点| 国产一区二区三区最好精华液| 舔着乳尖日韩一区| 国产激情91久久精品导航| 欧美色窝79yyyycom| 国产亚洲精品久| 蜜桃在线一区二区三区| 色综合色狠狠综合色| 久久久不卡影院| 轻轻草成人在线| 欧美日韩一区在线| 亚洲美女视频一区| 高清国产一区二区| 91精品国产高清一区二区三区蜜臀| 26uuu色噜噜精品一区| 免费成人你懂的| 欧美疯狂性受xxxxx喷水图片| 亚洲色大成网站www久久九九| 国产不卡免费视频| 亚洲精品在线一区二区| 日韩电影免费在线| 欧美日韩精品一区二区三区四区 | 欧美一区二区三区四区在线观看 | 日韩一区二区在线播放| 亚洲精品免费播放| 99久久久国产精品| 亚洲欧美日韩国产综合| 北岛玲一区二区三区四区| 国产亚洲欧美一级| 成人污视频在线观看| 久久精品一区八戒影视| 国产成人综合网| 亚洲国产精品成人综合| 成a人片国产精品| 中文字幕免费观看一区| aaa国产一区| 中文字幕人成不卡一区| 色综合天天天天做夜夜夜夜做| 亚洲视频 欧洲视频| 日本高清视频一区二区| 亚洲一区二区三区四区中文字幕 | www激情久久| 国产成人在线看| 国产精品女同一区二区三区| gogo大胆日本视频一区| 亚洲靠逼com| 精品视频在线视频| 久久精品二区亚洲w码| 久久综合狠狠综合久久综合88 | 日韩不卡一二三区| 欧美videos大乳护士334| 国产一区二区三区在线观看免费| 久久尤物电影视频在线观看| 波多野结衣精品在线| 一区二区三区在线视频免费| 91精品国产综合久久蜜臀 | 99精品视频在线免费观看| 伊人性伊人情综合网| 日韩三级高清在线| 懂色av中文字幕一区二区三区 | 91女厕偷拍女厕偷拍高清| 一区二区国产视频| 日韩美女视频在线| 本田岬高潮一区二区三区| 午夜激情一区二区| 久久看人人爽人人| 色播五月激情综合网| 久久激情五月婷婷| 香蕉影视欧美成人| 日韩三级高清在线| 91免费看`日韩一区二区| 日本成人超碰在线观看| 亚洲国产高清在线观看视频| 欧美日韩激情一区二区三区| 国产99久久久国产精品潘金| 亚洲午夜精品网| 欧美国产日韩在线观看| 欧美一级在线视频| 色哟哟一区二区在线观看 | 日韩欧美的一区| av影院午夜一区| 国产一区三区三区| 亚洲午夜一区二区| 国产欧美精品一区aⅴ影院 | 日本一区中文字幕| 亚洲欧美日韩精品久久久久| 久久精品视频在线免费观看| 欧美久久一二区| 色视频一区二区| www.亚洲精品| 国产真实乱子伦精品视频| 亚洲成av人片| 亚洲综合精品自拍| 亚洲视频在线观看三级| 国产欧美日韩久久| 精品日韩在线一区| 777午夜精品免费视频| 日本高清成人免费播放| eeuss鲁片一区二区三区| 国产一区二区三区在线观看免费视频 | 久久精品国产成人一区二区三区| 自拍偷拍国产精品| 国产亚洲污的网站| 欧美精品一区二区三| 69堂成人精品免费视频| 欧美少妇性性性| 欧美日韩亚州综合| 欧美日本视频在线| 91福利视频网站| 欧美无砖专区一中文字| 欧美性一区二区| 欧美三级电影一区| 欧美精品aⅴ在线视频| 欧美日韩午夜在线视频| 欧美日本在线看| 91精品国产福利在线观看| 欧美日本在线视频| 日韩一区二区三区视频在线| 欧美一级欧美一级在线播放| 欧美二区在线观看| 日韩欧美精品在线视频| 日韩美女在线视频| 久久婷婷国产综合国色天香| 国产欧美中文在线| 综合自拍亚洲综合图不卡区| 亚洲少妇中出一区| 午夜精品久久久久久不卡8050| 五月天久久比比资源色| 蜜臀av一级做a爰片久久| 国产一区美女在线| 本田岬高潮一区二区三区| 91久久精品日日躁夜夜躁欧美| 欧美网站大全在线观看| 欧美一区二区三区免费视频| 精品少妇一区二区三区视频免付费| 久久久高清一区二区三区| 国产精品久久一卡二卡| 亚洲永久精品国产| 免费精品视频最新在线| 国产成人在线色| 欧美亚洲国产bt| 精品精品欲导航| 亚洲日本丝袜连裤袜办公室| 偷窥国产亚洲免费视频| 国产福利91精品一区二区三区| 99综合影院在线| 91精品国产综合久久久久久| 久久久久久久免费视频了| 亚洲欧美一区二区三区国产精品 | 亚洲资源在线观看| 狠狠色丁香九九婷婷综合五月| 99热国产精品| 这里只有精品免费| 亚洲欧洲精品一区二区三区| 首页欧美精品中文字幕| 国产成人免费在线| 欧美挠脚心视频网站| 欧美国产精品专区| 日韩av电影免费观看高清完整版 | 成人免费黄色在线| 制服丝袜成人动漫| 亚洲嫩草精品久久| 国产综合一区二区| 欧美猛男超大videosgay| 中文字幕亚洲一区二区av在线| 蜜臀99久久精品久久久久久软件| 99精品热视频| 国产亚洲精品资源在线26u| 午夜视频在线观看一区| 91丝袜美腿高跟国产极品老师 | 国产精品一区在线| 欧美高清视频不卡网| 最新不卡av在线| 丰满亚洲少妇av| 精品久久久三级丝袜| 亚洲第一成人在线| 色网综合在线观看| 国产欧美日韩视频一区二区| 久久97超碰色| 911精品国产一区二区在线| 亚洲丝袜制服诱惑| 高清不卡一区二区在线| 精品三级在线观看| 麻豆精品蜜桃视频网站| 91精品国产综合久久久久久| 亚洲国产精品久久不卡毛片| 99re免费视频精品全部| 国产日产欧美一区| 国产一区二区福利| 精品精品国产高清a毛片牛牛| 免费成人在线影院| 欧美久久久久久久久| 丝袜诱惑亚洲看片| 欧美喷潮久久久xxxxx| 亚洲成av人在线观看| 欧美精品欧美精品系列| 视频一区国产视频| 欧美一区二区性放荡片| 免费不卡在线视频| 欧美精品一区二区在线播放|