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

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

?? pkcs8.c

?? pkcs8格式文件的編解碼軟件
?? C
字號:
/* pkcs8.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 <string.h>#include "apps.h"#include <openssl/pem.h>#include <openssl/err.h>#include <openssl/evp.h>#include <openssl/pkcs12.h>#include "apps.h"#define PROG pkcs8_mainint MAIN(int, char **);int MAIN(int argc, char **argv){	char **args, *infile = NULL, *outfile = NULL;	char *passargin = NULL, *passargout = NULL;	BIO *in = NULL, *out = NULL;	int topk8 = 0;	int pbe_nid = -1;	const EVP_CIPHER *cipher = NULL;	int iter = PKCS12_DEFAULT_ITER;	int informat, outformat;	int p8_broken = PKCS8_OK;	int nocrypt = 0;	X509_SIG *p8;	PKCS8_PRIV_KEY_INFO *p8inf;	EVP_PKEY *pkey;	char pass[50], *passin = NULL, *passout = NULL, *p8pass = NULL;	int badarg = 0;	if (bio_err == NULL) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);	informat=FORMAT_PEM;	outformat=FORMAT_PEM;	ERR_load_crypto_strings();	OpenSSL_add_all_algorithms();	args = argv + 1;	while (!badarg && *args && *args[0] == '-') {		if (!strcmp(*args,"-v2")) {			if (args[1]) {				args++;				cipher=EVP_get_cipherbyname(*args);				if(!cipher) {					BIO_printf(bio_err,						 "Unknown cipher %s\n", *args);					badarg = 1;				}			} else badarg = 1;		} else if (!strcmp(*args,"-v1")) {			if (args[1]) {				args++;				pbe_nid=OBJ_txt2nid(*args);				if(pbe_nid == NID_undef) {					BIO_printf(bio_err,						 "Unknown PBE algorithm %s\n", *args);					badarg = 1;				}			} else badarg = 1;		} else if (!strcmp(*args,"-inform")) {			if (args[1]) {				args++;				informat=str2fmt(*args);			} else badarg = 1;		} else if (!strcmp(*args,"-outform")) {			if (args[1]) {				args++;				outformat=str2fmt(*args);			} else badarg = 1;		} else if (!strcmp (*args, "-topk8")) topk8 = 1;		else if (!strcmp (*args, "-noiter")) iter = 1;		else if (!strcmp (*args, "-nocrypt")) nocrypt = 1;		else if (!strcmp (*args, "-nooct")) p8_broken = PKCS8_NO_OCTET;		else if (!strcmp (*args, "-nsdb")) p8_broken = PKCS8_NS_DB;		else if (!strcmp (*args, "-embed")) p8_broken = PKCS8_EMBEDDED_PARAM;		else if (!strcmp(*args,"-passin"))			{			if (!args[1]) goto bad;			passargin= *(++args);			}		else if (!strcmp(*args,"-passout"))			{			if (!args[1]) goto bad;			passargout= *(++args);			}		else if (!strcmp (*args, "-in")) {			if (args[1]) {				args++;				infile = *args;			} else badarg = 1;		} else if (!strcmp (*args, "-out")) {			if (args[1]) {				args++;				outfile = *args;			} else badarg = 1;		} else badarg = 1;		args++;	}	if (badarg) {		bad:		BIO_printf(bio_err, "Usage pkcs8 [options]\n");		BIO_printf(bio_err, "where options are\n");		BIO_printf(bio_err, "-in file        input file\n");		BIO_printf(bio_err, "-inform X       input format (DER or PEM)\n");		BIO_printf(bio_err, "-passin arg     input file pass phrase source\n");		BIO_printf(bio_err, "-outform X      output format (DER or PEM)\n");		BIO_printf(bio_err, "-out file       output file\n");		BIO_printf(bio_err, "-passout arg    output file pass phrase source\n");		BIO_printf(bio_err, "-topk8          output PKCS8 file\n");		BIO_printf(bio_err, "-nooct          use (nonstandard) no octet format\n");		BIO_printf(bio_err, "-embed          use (nonstandard) embedded DSA parameters format\n");		BIO_printf(bio_err, "-nsdb           use (nonstandard) DSA Netscape DB format\n");		BIO_printf(bio_err, "-noiter         use 1 as iteration count\n");		BIO_printf(bio_err, "-nocrypt        use or expect unencrypted private key\n");		BIO_printf(bio_err, "-v2 alg         use PKCS#5 v2.0 and cipher \"alg\"\n");		BIO_printf(bio_err, "-v1 obj         use PKCS#5 v1.5 and cipher \"alg\"\n");		return (1);	}	if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {		BIO_printf(bio_err, "Error getting passwords\n");		return (1);	}	if ((pbe_nid == -1) && !cipher) pbe_nid = NID_pbeWithMD5AndDES_CBC;	if (infile) {		if (!(in = BIO_new_file(infile, "rb"))) {			BIO_printf(bio_err,				 "Can't open input file %s\n", infile);			return (1);		}	} else in = BIO_new_fp (stdin, BIO_NOCLOSE);	if (outfile) {		if (!(out = BIO_new_file (outfile, "wb"))) {			BIO_printf(bio_err,				 "Can't open output file %s\n", outfile);			return (1);		}	} else {		out = BIO_new_fp (stdout, BIO_NOCLOSE);#ifdef VMS		{			BIO *tmpbio = BIO_new(BIO_f_linebuffer());			out = BIO_push(tmpbio, out);		}#endif	}	if (topk8) {		if(informat == FORMAT_PEM)			pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, passin);		else if(informat == FORMAT_ASN1)			pkey = d2i_PrivateKey_bio(in, NULL);		else {			BIO_printf(bio_err, "Bad format specified for key\n");			return (1);		}		if (!pkey) {			BIO_printf(bio_err, "Error reading key\n", outfile);			ERR_print_errors(bio_err);			return (1);		}		BIO_free(in);		if (!(p8inf = EVP_PKEY2PKCS8_broken(pkey, p8_broken))) {			BIO_printf(bio_err, "Error converting key\n", outfile);			ERR_print_errors(bio_err);			return (1);		}		if(nocrypt) {			if(outformat == FORMAT_PEM) 				PEM_write_bio_PKCS8_PRIV_KEY_INFO(out, p8inf);			else if(outformat == FORMAT_ASN1)				i2d_PKCS8_PRIV_KEY_INFO_bio(out, p8inf);			else {				BIO_printf(bio_err, "Bad format specified for key\n");				return (1);			}		} else {			if(passout) p8pass = passout;			else {				p8pass = pass;				if (EVP_read_pw_string(pass, 50, "Enter Encryption Password:", 1))					return (1);			}			app_RAND_load_file(NULL, bio_err, 0);			if (!(p8 = PKCS8_encrypt(pbe_nid, cipher,					p8pass, strlen(p8pass),					NULL, 0, iter, p8inf))) {				BIO_printf(bio_err, "Error encrypting key\n",								 outfile);				ERR_print_errors(bio_err);				return (1);			}			app_RAND_write_file(NULL, bio_err);			if(outformat == FORMAT_PEM) 				PEM_write_bio_PKCS8(out, p8);			else if(outformat == FORMAT_ASN1)				i2d_PKCS8_bio(out, p8);			else {				BIO_printf(bio_err, "Bad format specified for key\n");				return (1);			}			X509_SIG_free(p8);		}		PKCS8_PRIV_KEY_INFO_free (p8inf);		EVP_PKEY_free(pkey);		BIO_free_all(out);		if(passin) OPENSSL_free(passin);		if(passout) OPENSSL_free(passout);		return (0);	}	if(nocrypt) {		if(informat == FORMAT_PEM) 			p8inf = PEM_read_bio_PKCS8_PRIV_KEY_INFO(in,NULL,NULL, NULL);		else if(informat == FORMAT_ASN1)			p8inf = d2i_PKCS8_PRIV_KEY_INFO_bio(in, NULL);		else {			BIO_printf(bio_err, "Bad format specified for key\n");			return (1);		}	} else {		if(informat == FORMAT_PEM) 			p8 = PEM_read_bio_PKCS8(in, NULL, NULL, NULL);		else if(informat == FORMAT_ASN1)			p8 = d2i_PKCS8_bio(in, NULL);		else {			BIO_printf(bio_err, "Bad format specified for key\n");			return (1);		}		if (!p8) {			BIO_printf (bio_err, "Error reading key\n", outfile);			ERR_print_errors(bio_err);			return (1);		}		if(passin) p8pass = passin;		else {			p8pass = pass;			EVP_read_pw_string(pass, 50, "Enter Password:", 0);		}		p8inf = M_PKCS8_decrypt(p8, p8pass, strlen(p8pass));		X509_SIG_free(p8);	}	if (!p8inf) {		BIO_printf(bio_err, "Error decrypting key\n", outfile);		ERR_print_errors(bio_err);		return (1);	}	if (!(pkey = EVP_PKCS82PKEY(p8inf))) {		BIO_printf(bio_err, "Error converting key\n", outfile);		ERR_print_errors(bio_err);		return (1);	}		if (p8inf->broken) {		BIO_printf(bio_err, "Warning: broken key encoding: ");		switch (p8inf->broken) {			case PKCS8_NO_OCTET:			BIO_printf(bio_err, "No Octet String in PrivateKey\n");			break;			case PKCS8_EMBEDDED_PARAM:			BIO_printf(bio_err, "DSA parameters included in PrivateKey\n");			break;			case PKCS8_NS_DB:			BIO_printf(bio_err, "DSA public key include in PrivateKey\n");			break;			default:			BIO_printf(bio_err, "Unknown broken type\n");			break;		}	}		PKCS8_PRIV_KEY_INFO_free(p8inf);	if(outformat == FORMAT_PEM) 		PEM_write_bio_PrivateKey(out, pkey, NULL, NULL, 0, NULL, passout);	else if(outformat == FORMAT_ASN1)		i2d_PrivateKey_bio(out, pkey);	else {		BIO_printf(bio_err, "Bad format specified for key\n");			return (1);	}	EVP_PKEY_free(pkey);	BIO_free_all(out);	BIO_free(in);	if(passin) OPENSSL_free(passin);	if(passout) OPENSSL_free(passout);	return (0);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人动漫一区| 成人av资源在线观看| 在线视频国产一区| 亚洲一区二区三区自拍| 欧美另类久久久品| 调教+趴+乳夹+国产+精品| 欧美精品乱码久久久久久| 日韩av不卡一区二区| 日韩精品一区二区三区在线| 国产麻豆精品一区二区| 国产精品日产欧美久久久久| 91久久线看在观草草青青| 午夜精品久久久久久久久久久| 日本一区中文字幕| 久久众筹精品私拍模特| 粉嫩aⅴ一区二区三区四区五区| 国产精品久久久久久久久动漫 | 精品一区二区三区不卡| 欧美大尺度电影在线| 狠狠色狠狠色综合系列| 欧美高清在线精品一区| 国产成人鲁色资源国产91色综| 亚洲视频一二区| 666欧美在线视频| 国产传媒久久文化传媒| 亚洲综合一二区| 欧美二区在线观看| 久久久久国产精品人| 97国产一区二区| 日韩电影一区二区三区| 久久亚洲捆绑美女| 97久久久精品综合88久久| 欧美中文字幕不卡| 麻豆精品在线看| 亚洲小说欧美激情另类| 精品国产凹凸成av人网站| 在线观看日韩毛片| 国产揄拍国内精品对白| 一区二区三区在线观看视频| 久久久噜噜噜久噜久久综合| 欧洲一区在线电影| 成人午夜视频在线| 日韩**一区毛片| 一区二区日韩电影| 亚洲国产精品ⅴa在线观看| 欧美区在线观看| 91免费小视频| 国产精品一区2区| 免费在线一区观看| 亚洲韩国精品一区| ●精品国产综合乱码久久久久| 精品国免费一区二区三区| 成人aaaa免费全部观看| 国内精品国产成人| 老司机一区二区| 日韩精品三区四区| 国产精品家庭影院| 日韩欧美国产精品| 欧美一区二区久久久| 欧美三级中文字| 色综合视频一区二区三区高清| 国产成人免费视频网站| 久久国产精品免费| 美女视频网站黄色亚洲| 午夜久久电影网| 1000精品久久久久久久久| 欧美三区在线视频| 欧美性色aⅴ视频一区日韩精品| 国产91精品欧美| 国产精品自拍在线| 天天av天天翘天天综合网| 亚洲bdsm女犯bdsm网站| 亚洲第一精品在线| 亚洲最新在线观看| 亚洲精品一二三四区| 一区二区三区不卡视频在线观看| 亚洲精品日韩一| 亚洲综合精品自拍| 亚洲国产婷婷综合在线精品| 亚洲福利一二三区| 午夜不卡在线视频| 美女在线视频一区| 国产一区二区不卡在线| 韩国三级电影一区二区| 国产成人av一区| 成人福利在线看| 91国模大尺度私拍在线视频| 色网综合在线观看| 欧美日韩精品一区二区| 欧美图区在线视频| 国产高清精品在线| 99在线视频精品| 精品视频色一区| 日韩欧美激情在线| 久久精品无码一区二区三区| 国产精品你懂的在线欣赏| 亚洲乱码日产精品bd| 亚洲成人av一区二区| 久久电影网站中文字幕| 福利一区二区在线| 在线观看视频91| 国产午夜三级一区二区三| 夜夜爽夜夜爽精品视频| 国产激情一区二区三区四区| 欧美午夜片在线看| 2024国产精品视频| 精品一区二区三区不卡| 欧美成人激情免费网| 麻豆久久一区二区| 国产亚洲欧美日韩俺去了| 欧美一区二区三区人| 麻豆国产欧美日韩综合精品二区| 国产主播一区二区三区| 欧美日韩小视频| 国产精品女主播av| 久久精品国产第一区二区三区| 在线中文字幕不卡| 国产精品乱人伦中文| 国产乱码精品1区2区3区| 欧美中文字幕不卡| 国产精品欧美经典| 国产成人av影院| 久久99精品国产.久久久久| 欧美亚洲国产一区在线观看网站 | 欧美日韩国产另类不卡| 日韩一区在线看| 东方aⅴ免费观看久久av| 久久综合网色—综合色88| 男女性色大片免费观看一区二区 | 91亚洲国产成人精品一区二三| 国产三级久久久| 久久99精品久久久久久国产越南| 99久久亚洲一区二区三区青草| 国产亚洲精品免费| 国产成人一级电影| 欧美国产日韩在线观看| 成人午夜视频福利| 国产精品女同互慰在线看| av一二三不卡影片| 亚洲天堂中文字幕| 色婷婷亚洲婷婷| 亚洲人成人一区二区在线观看| 色综合久久88色综合天天6| 一区二区三区丝袜| 欧洲亚洲精品在线| 亚洲va欧美va国产va天堂影院| 欧美色综合久久| 日韩av网站免费在线| 日韩精品一区二区三区四区| 激情亚洲综合在线| 国产精品三级视频| 色域天天综合网| 香蕉影视欧美成人| 精品国产99国产精品| 大胆欧美人体老妇| 亚洲精品大片www| 制服丝袜在线91| 国产精品99久久久久久有的能看| 国产喷白浆一区二区三区| 国产成人av一区二区三区在线 | 国产美女一区二区三区| 国产婷婷精品av在线| 不卡的电影网站| 亚洲综合在线视频| 日韩免费在线观看| 成人小视频免费在线观看| 亚洲自拍偷拍欧美| 日韩欧美黄色影院| www.欧美色图| 男男视频亚洲欧美| 国产精品久久久久久久久图文区| 91久久奴性调教| 秋霞午夜鲁丝一区二区老狼| 久久久精品综合| 在线观看日韩精品| 黑人巨大精品欧美黑白配亚洲| 中文字幕的久久| 99在线精品观看| 青青草精品视频| 亚洲视频一区在线观看| 日韩视频国产视频| 国产xxx精品视频大全| 午夜在线成人av| 国产精品伦理在线| 欧美一级黄色大片| 一本久道中文字幕精品亚洲嫩| 美女任你摸久久| 亚洲免费视频成人| 精品国产一区二区在线观看| 色婷婷综合久久久中文一区二区| 麻豆一区二区99久久久久| 国产精品剧情在线亚洲| 91精品黄色片免费大全| 97se狠狠狠综合亚洲狠狠| 精品制服美女久久| 亚洲国产wwwccc36天堂| 国产精品免费久久| 欧美精品一区二区在线观看| 欧美日韩专区在线| 91丨九色丨黑人外教|