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

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

?? p12_key.c

?? openssl包含TLS
?? C
字號:
/* p12_key.c *//* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL * project 1999. *//* ==================================================================== * Copyright (c) 1999 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 *    licensing@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 <stdio.h>#include "cryptlib.h"#include <openssl/pkcs12.h>/* Uncomment out this line to get debugging info about key generation *//*#define DEBUG_KEYGEN*/#ifdef DEBUG_KEYGEN#include <openssl/bio.h>extern BIO *bio_err;void h__dump (unsigned char *p, int len);#endif/* PKCS12 compatible key/IV generation */#ifndef min#define min(a,b) ((a) < (b) ? (a) : (b))#endifint PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt,	     int saltlen, int id, int iter, int n, unsigned char *out,	     const EVP_MD *md_type){	int ret;	unsigned char *unipass;	int uniplen;	if(!pass) {		unipass = NULL;		uniplen = 0;	} else if (!asc2uni(pass, passlen, &unipass, &uniplen)) {		PKCS12err(PKCS12_F_PKCS12_KEY_GEN_ASC,ERR_R_MALLOC_FAILURE);		return 0;	}	ret = PKCS12_key_gen_uni(unipass, uniplen, salt, saltlen,						 id, iter, n, out, md_type);	if(unipass) {		OPENSSL_cleanse(unipass, uniplen);	/* Clear password from memory */		OPENSSL_free(unipass);	}	return ret;}int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,	     int saltlen, int id, int iter, int n, unsigned char *out,	     const EVP_MD *md_type){	unsigned char *B, *D, *I, *p, *Ai;	int Slen, Plen, Ilen, Ijlen;	int i, j, u, v;	BIGNUM *Ij, *Bpl1;	/* These hold Ij and B + 1 */	EVP_MD_CTX ctx;#ifdef  DEBUG_KEYGEN	unsigned char *tmpout = out;	int tmpn = n;#endif#if 0	if (!pass) {		PKCS12err(PKCS12_F_PKCS12_KEY_GEN_UNI,ERR_R_PASSED_NULL_PARAMETER);		return 0;	}#endif	EVP_MD_CTX_init(&ctx);#ifdef  DEBUG_KEYGEN	fprintf(stderr, "KEYGEN DEBUG\n");	fprintf(stderr, "ID %d, ITER %d\n", id, iter);	fprintf(stderr, "Password (length %d):\n", passlen);	h__dump(pass, passlen);	fprintf(stderr, "Salt (length %d):\n", saltlen);	h__dump(salt, saltlen);#endif	v = EVP_MD_block_size (md_type);	u = EVP_MD_size (md_type);	D = OPENSSL_malloc (v);	Ai = OPENSSL_malloc (u);	B = OPENSSL_malloc (v + 1);	Slen = v * ((saltlen+v-1)/v);	if(passlen) Plen = v * ((passlen+v-1)/v);	else Plen = 0;	Ilen = Slen + Plen;	I = OPENSSL_malloc (Ilen);	Ij = BN_new();	Bpl1 = BN_new();	if (!D || !Ai || !B || !I || !Ij || !Bpl1) {		PKCS12err(PKCS12_F_PKCS12_KEY_GEN_UNI,ERR_R_MALLOC_FAILURE);		return 0;	}	for (i = 0; i < v; i++) D[i] = id;	p = I;	for (i = 0; i < Slen; i++) *p++ = salt[i % saltlen];	for (i = 0; i < Plen; i++) *p++ = pass[i % passlen];	for (;;) {		EVP_DigestInit_ex(&ctx, md_type, NULL);		EVP_DigestUpdate(&ctx, D, v);		EVP_DigestUpdate(&ctx, I, Ilen);		EVP_DigestFinal_ex(&ctx, Ai, NULL);		for (j = 1; j < iter; j++) {			EVP_DigestInit_ex(&ctx, md_type, NULL);			EVP_DigestUpdate(&ctx, Ai, u);			EVP_DigestFinal_ex(&ctx, Ai, NULL);		}		memcpy (out, Ai, min (n, u));		if (u >= n) {			OPENSSL_free (Ai);			OPENSSL_free (B);			OPENSSL_free (D);			OPENSSL_free (I);			BN_free (Ij);			BN_free (Bpl1);			EVP_MD_CTX_cleanup(&ctx);#ifdef DEBUG_KEYGEN			fprintf(stderr, "Output KEY (length %d)\n", tmpn);			h__dump(tmpout, tmpn);#endif			return 1;			}		n -= u;		out += u;		for (j = 0; j < v; j++) B[j] = Ai[j % u];		/* Work out B + 1 first then can use B as tmp space */		BN_bin2bn (B, v, Bpl1);		BN_add_word (Bpl1, 1);		for (j = 0; j < Ilen ; j+=v) {			BN_bin2bn (I + j, v, Ij);			BN_add (Ij, Ij, Bpl1);			BN_bn2bin (Ij, B);			Ijlen = BN_num_bytes (Ij);			/* If more than 2^(v*8) - 1 cut off MSB */			if (Ijlen > v) {				BN_bn2bin (Ij, B);				memcpy (I + j, B + 1, v);#ifndef PKCS12_BROKEN_KEYGEN			/* If less than v bytes pad with zeroes */			} else if (Ijlen < v) {				memset(I + j, 0, v - Ijlen);				BN_bn2bin(Ij, I + j + v - Ijlen); #endif			} else BN_bn2bin (Ij, I + j);		}	}}#ifdef DEBUG_KEYGENvoid h__dump (unsigned char *p, int len){	for (; len --; p++) fprintf(stderr, "%02X", *p);	fprintf(stderr, "\n");	}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人激情| 成人免费看的视频| 欧美精品777| 偷拍一区二区三区| 欧美日韩另类一区| 麻豆一区二区99久久久久| 欧美一级片在线看| 国产精品自拍网站| 中文字幕在线观看一区| 2024国产精品| 大胆欧美人体老妇| 一区二区三区中文免费| 制服丝袜成人动漫| 国产一区二区导航在线播放| 国产精品午夜在线| 色综合咪咪久久| 免费看欧美女人艹b| 久久网站热最新地址| 99r国产精品| 日韩精品每日更新| 国产亚洲va综合人人澡精品| 91美女片黄在线观看91美女| 亚洲va天堂va国产va久| xvideos.蜜桃一区二区| 日本韩国一区二区三区| 秋霞国产午夜精品免费视频 | 欧美唯美清纯偷拍| 日韩电影在线看| 国产精品美女久久久久久久久久久| 色国产精品一区在线观看| 久久99精品久久久久久久久久久久| 国产精品美女久久久久高潮| 欧美精品色综合| av资源站一区| 久久99久久久久| 亚洲综合另类小说| 国产偷国产偷精品高清尤物| 欧美日韩精品免费| av在线不卡电影| 久久国产精品第一页| 亚洲老司机在线| 久久精品亚洲精品国产欧美| 欧美精品高清视频| 91视视频在线观看入口直接观看www | 美腿丝袜亚洲一区| 亚洲同性gay激情无套| 亚洲不卡av一区二区三区| 久久久av毛片精品| 欧美一卡二卡在线观看| 色婷婷精品大视频在线蜜桃视频| 精品一区二区三区免费播放| 亚洲午夜私人影院| 亚洲日本成人在线观看| 中文字幕av一区二区三区免费看| 91精品一区二区三区久久久久久| 91福利在线播放| 成人午夜精品一区二区三区| 狠狠色狠狠色综合| 免费日本视频一区| 天天操天天色综合| 亚洲午夜av在线| 亚洲在线观看免费视频| 亚洲色图20p| 中文字幕一区二区日韩精品绯色| 久久天天做天天爱综合色| 日韩精品专区在线影院重磅| 欧美剧情片在线观看| 欧美私模裸体表演在线观看| 91日韩在线专区| 91免费看片在线观看| 成人18视频在线播放| 国产91精品欧美| 久久99精品国产91久久来源| 捆绑紧缚一区二区三区视频 | 一区二区理论电影在线观看| 亚洲麻豆国产自偷在线| 综合久久国产九一剧情麻豆| 亚洲欧洲日韩av| 亚洲精品中文字幕乱码三区| 亚洲欧美另类小说| 一区二区三区精品在线| 亚洲人被黑人高潮完整版| 亚洲精品欧美综合四区| 一区二区三区在线视频观看| 亚洲一区二区欧美日韩| 午夜精品一区二区三区三上悠亚| 日韩影院免费视频| 老鸭窝一区二区久久精品| 国产精品综合二区| av日韩在线网站| 欧美专区在线观看一区| 欧美日本国产视频| 精品国产一区二区国模嫣然| 国产片一区二区三区| 亚洲日本va午夜在线影院| 亚洲一区成人在线| 欧美在线啊v一区| 欧美三级韩国三级日本三斤| 欧美日本一区二区三区| 久久亚洲精精品中文字幕早川悠里| 国产视频一区二区三区在线观看| 一区在线中文字幕| 亚洲成人av中文| 国产真实乱对白精彩久久| 国产**成人网毛片九色| 欧美在线观看一区二区| 精品国产3级a| 亚洲精品视频一区二区| 麻豆视频一区二区| 99久久免费视频.com| 在线不卡a资源高清| 国产亚洲成av人在线观看导航 | 日本不卡视频在线观看| 国产风韵犹存在线视精品| 日本韩国精品一区二区在线观看| 91精品国产高清一区二区三区 | 国产午夜精品一区二区| 亚洲一区二区三区在线播放| 激情成人综合网| 日本精品裸体写真集在线观看 | 亚洲免费看黄网站| 麻豆91在线播放免费| 99久久精品国产毛片| 欧美一区二区三区在线电影| 欧美激情一区二区三区四区| 水野朝阳av一区二区三区| 成人免费毛片高清视频| 欧美精选一区二区| 国产精品成人一区二区三区夜夜夜| 午夜久久久久久久久久一区二区| 国产aⅴ综合色| 日韩亚洲欧美一区| 一区二区免费在线| 成人妖精视频yjsp地址| 91麻豆精品91久久久久久清纯| 亚洲欧美一区二区三区国产精品| 久久成人麻豆午夜电影| 欧美三级中文字幕在线观看| 中文字幕精品三区| 国产麻豆一精品一av一免费| 欧美精品日韩一本| 亚洲免费三区一区二区| 国产成人免费在线观看不卡| 日韩免费一区二区| 亚洲成人免费观看| 在线免费精品视频| 18欧美亚洲精品| 福利一区二区在线观看| 久久婷婷国产综合精品青草| 蜜臀久久99精品久久久久久9 | 亚洲永久免费av| 97超碰欧美中文字幕| 国产精品免费视频观看| 国产成人一区二区精品非洲| 精品国产制服丝袜高跟| 蜜臀99久久精品久久久久久软件| 欧美顶级少妇做爰| 午夜亚洲国产au精品一区二区| 91色porny| gogo大胆日本视频一区| 国产午夜亚洲精品理论片色戒| 久久se精品一区二区| 欧美成人精品高清在线播放 | 国产精品一区二区久激情瑜伽| 日韩三级中文字幕| 美女视频一区二区| 日韩精品中文字幕一区二区三区| 奇米四色…亚洲| 精品免费一区二区三区| 国模冰冰炮一区二区| 久久综合久久99| 国产99久久久国产精品免费看| 国产亚洲一区二区三区在线观看| 国产成人免费av在线| 国产精品婷婷午夜在线观看| 99国产精品久久久| 一区二区三区色| 欧美精品久久久久久久多人混战 | 亚洲另类在线一区| 欧美日韩在线三区| 日韩高清不卡一区| 精品福利在线导航| 成人免费va视频| 亚洲美女视频一区| 欧美日韩高清一区二区| 免费人成精品欧美精品| 精品av久久707| 成人永久看片免费视频天堂| 综合av第一页| 91精品国产综合久久久久| 狠狠狠色丁香婷婷综合久久五月| 久久久久久久久久久黄色| 丰满少妇在线播放bd日韩电影| 亚洲欧洲无码一区二区三区| 欧美人妖巨大在线| 国产一区二区三区香蕉| 亚洲免费视频成人| 日韩免费观看高清完整版| 成人午夜私人影院| 亚洲风情在线资源站|