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

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

?? ca.c

?? mediastreamer2是開源的網(wǎng)絡(luò)傳輸媒體流的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
								ext_sect);				ERR_print_errors(bio_err);				goto err;				}			if (verbose)				BIO_printf(bio_err, "Successfully added extensions from file.\n");			}		else if (ext_sect)			{			/* We found extensions to be set from config file */			X509V3_set_nconf(&ctx, lconf);			if(!X509V3_EXT_add_nconf(lconf, &ctx, ext_sect, ret))				{				BIO_printf(bio_err, "ERROR: adding extensions in section %s\n", ext_sect);				ERR_print_errors(bio_err);				goto err;				}			if (verbose) 				BIO_printf(bio_err, "Successfully added extensions from config\n");			}		}	/* Copy extensions from request (if any) */	if (!copy_extensions(ret, req, ext_copy))		{		BIO_printf(bio_err, "ERROR: adding extensions from request\n");		ERR_print_errors(bio_err);		goto err;		}	/* Set the right value for the noemailDN option */	if( email_dn == 0 )		{		if (!X509_set_subject_name(ret,dn_subject)) goto err;		}	if (!default_op)		{		BIO_printf(bio_err, "Certificate Details:\n");		/* Never print signature details because signature not present */		certopt |= X509_FLAG_NO_SIGDUMP | X509_FLAG_NO_SIGNAME;		X509_print_ex(bio_err, ret, nameopt, certopt); 		}	BIO_printf(bio_err,"Certificate is to be certified until ");	ASN1_UTCTIME_print(bio_err,X509_get_notAfter(ret));	if (days) BIO_printf(bio_err," (%ld days)",days);	BIO_printf(bio_err, "\n");	if (!batch)		{		BIO_printf(bio_err,"Sign the certificate? [y/n]:");		(void)BIO_flush(bio_err);		buf[0]='\0';		fgets(buf,sizeof(buf)-1,stdin);		if (!((buf[0] == 'y') || (buf[0] == 'Y')))			{			BIO_printf(bio_err,"CERTIFICATE WILL NOT BE CERTIFIED\n");			ok=0;			goto err;			}		}#ifndef OPENSSL_NO_DSA	if (pkey->type == EVP_PKEY_DSA) dgst=EVP_dss1();	pktmp=X509_get_pubkey(ret);	if (EVP_PKEY_missing_parameters(pktmp) &&		!EVP_PKEY_missing_parameters(pkey))		EVP_PKEY_copy_parameters(pktmp,pkey);	EVP_PKEY_free(pktmp);#endif#ifndef OPENSSL_NO_ECDSA	if (pkey->type == EVP_PKEY_EC)		dgst = EVP_ecdsa();	pktmp = X509_get_pubkey(ret);	if (EVP_PKEY_missing_parameters(pktmp) &&		!EVP_PKEY_missing_parameters(pkey))		EVP_PKEY_copy_parameters(pktmp, pkey);	EVP_PKEY_free(pktmp);#endif	if (!X509_sign(ret,pkey,dgst))		goto err;	/* We now just add it to the database */	row[DB_type]=(char *)OPENSSL_malloc(2);	tm=X509_get_notAfter(ret);	row[DB_exp_date]=(char *)OPENSSL_malloc(tm->length+1);	memcpy(row[DB_exp_date],tm->data,tm->length);	row[DB_exp_date][tm->length]='\0';	row[DB_rev_date]=NULL;	/* row[DB_serial] done already */	row[DB_file]=(char *)OPENSSL_malloc(8);	row[DB_name]=X509_NAME_oneline(X509_get_subject_name(ret),NULL,0);	if ((row[DB_type] == NULL) || (row[DB_exp_date] == NULL) ||		(row[DB_file] == NULL) || (row[DB_name] == NULL))		{		BIO_printf(bio_err,"Memory allocation failure\n");		goto err;		}	BUF_strlcpy(row[DB_file],"unknown",8);	row[DB_type][0]='V';	row[DB_type][1]='\0';	if ((irow=(char **)OPENSSL_malloc(sizeof(char *)*(DB_NUMBER+1))) == NULL)		{		BIO_printf(bio_err,"Memory allocation failure\n");		goto err;		}	for (i=0; i<DB_NUMBER; i++)		{		irow[i]=row[i];		row[i]=NULL;		}	irow[DB_NUMBER]=NULL;	if (!TXT_DB_insert(db->db,irow))		{		BIO_printf(bio_err,"failed to update database\n");		BIO_printf(bio_err,"TXT_DB error number %ld\n",db->db->error);		goto err;		}	ok=1;err:	for (i=0; i<DB_NUMBER; i++)		if (row[i] != NULL) OPENSSL_free(row[i]);	if (CAname != NULL)		X509_NAME_free(CAname);	if (subject != NULL)		X509_NAME_free(subject);	if ((dn_subject != NULL) && !email_dn)		X509_NAME_free(dn_subject);	if (tmptm != NULL)		ASN1_UTCTIME_free(tmptm);	if (ok <= 0)		{		if (ret != NULL) X509_free(ret);		ret=NULL;		}	else		*xret=ret;	return(ok);	}static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)	{	if (output_der)		{		(void)i2d_X509_bio(bp,x);		return;		}#if 0	/* ??? Not needed since X509_print prints all this stuff anyway */	f=X509_NAME_oneline(X509_get_issuer_name(x),buf,256);	BIO_printf(bp,"issuer :%s\n",f);	f=X509_NAME_oneline(X509_get_subject_name(x),buf,256);	BIO_printf(bp,"subject:%s\n",f);	BIO_puts(bp,"serial :");	i2a_ASN1_INTEGER(bp,x->cert_info->serialNumber);	BIO_puts(bp,"\n\n");#endif	if (!notext)X509_print(bp,x);	PEM_write_bio_X509(bp,x);	}static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,	     const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,	     BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,	     long days, char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,	     unsigned long nameopt, int default_op, int ext_copy)	{	STACK_OF(CONF_VALUE) *sk=NULL;	LHASH *parms=NULL;	X509_REQ *req=NULL;	CONF_VALUE *cv=NULL;	NETSCAPE_SPKI *spki = NULL;	X509_REQ_INFO *ri;	char *type,*buf;	EVP_PKEY *pktmp=NULL;	X509_NAME *n=NULL;	X509_NAME_ENTRY *ne=NULL;	int ok= -1,i,j;	long errline;	int nid;	/*	 * Load input file into a hash table.  (This is just an easy	 * way to read and parse the file, then put it into a convenient	 * STACK format).	 */	parms=CONF_load(NULL,infile,&errline);	if (parms == NULL)		{		BIO_printf(bio_err,"error on line %ld of %s\n",errline,infile);		ERR_print_errors(bio_err);		goto err;		}	sk=CONF_get_section(parms, "default");	if (sk_CONF_VALUE_num(sk) == 0)		{		BIO_printf(bio_err, "no name/value pairs found in %s\n", infile);		CONF_free(parms);		goto err;		}	/*	 * Now create a dummy X509 request structure.  We don't actually	 * have an X509 request, but we have many of the components	 * (a public key, various DN components).  The idea is that we	 * put these components into the right X509 request structure	 * and we can use the same code as if you had a real X509 request.	 */	req=X509_REQ_new();	if (req == NULL)		{		ERR_print_errors(bio_err);		goto err;		}	/*	 * Build up the subject name set.	 */	ri=req->req_info;	n = ri->subject;	for (i = 0; ; i++)		{		if (sk_CONF_VALUE_num(sk) <= i) break;		cv=sk_CONF_VALUE_value(sk,i);		type=cv->name;		/* Skip past any leading X. X: X, etc to allow for		 * multiple instances		 */		for (buf = cv->name; *buf ; buf++)			if ((*buf == ':') || (*buf == ',') || (*buf == '.'))				{				buf++;				if (*buf) type = buf;				break;				}		buf=cv->value;		if ((nid=OBJ_txt2nid(type)) == NID_undef)			{			if (strcmp(type, "SPKAC") == 0)				{				spki = NETSCAPE_SPKI_b64_decode(cv->value, -1);				if (spki == NULL)					{					BIO_printf(bio_err,"unable to load Netscape SPKAC structure\n");					ERR_print_errors(bio_err);					goto err;					}				}			continue;			}		/*		if ((nid == NID_pkcs9_emailAddress) && (email_dn == 0))			continue;		*/				j=ASN1_PRINTABLE_type((unsigned char *)buf,-1);		if (fix_data(nid, &j) == 0)			{			BIO_printf(bio_err,				"invalid characters in string %s\n",buf);			goto err;			}		if ((ne=X509_NAME_ENTRY_create_by_NID(&ne,nid,j,			(unsigned char *)buf,			strlen(buf))) == NULL)			goto err;		if (!X509_NAME_add_entry(n,ne,-1, 0)) goto err;		}	if (spki == NULL)		{		BIO_printf(bio_err,"Netscape SPKAC structure not found in %s\n",			infile);		goto err;		}	/*	 * Now extract the key from the SPKI structure.	 */	BIO_printf(bio_err,"Check that the SPKAC request matches the signature\n");	if ((pktmp=NETSCAPE_SPKI_get_pubkey(spki)) == NULL)		{		BIO_printf(bio_err,"error unpacking SPKAC public key\n");		goto err;		}	j = NETSCAPE_SPKI_verify(spki, pktmp);	if (j <= 0)		{		BIO_printf(bio_err,"signature verification failed on SPKAC public key\n");		goto err;		}	BIO_printf(bio_err,"Signature ok\n");	X509_REQ_set_pubkey(req,pktmp);	EVP_PKEY_free(pktmp);	ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,		   days,1,verbose,req,ext_sect,lconf, certopt, nameopt, default_op,			ext_copy, 0);err:	if (req != NULL) X509_REQ_free(req);	if (parms != NULL) CONF_free(parms);	if (spki != NULL) NETSCAPE_SPKI_free(spki);	if (ne != NULL) X509_NAME_ENTRY_free(ne);	return(ok);	}static int fix_data(int nid, int *type)	{	if (nid == NID_pkcs9_emailAddress)		*type=V_ASN1_IA5STRING;	if ((nid == NID_commonName) && (*type == V_ASN1_IA5STRING))		*type=V_ASN1_T61STRING;	if ((nid == NID_pkcs9_challengePassword) && (*type == V_ASN1_IA5STRING))		*type=V_ASN1_T61STRING;	if ((nid == NID_pkcs9_unstructuredName) && (*type == V_ASN1_T61STRING))		return(0);	if (nid == NID_pkcs9_unstructuredName)		*type=V_ASN1_IA5STRING;	return(1);	}static int check_time_format(char *str)	{	ASN1_UTCTIME tm;	tm.data=(unsigned char *)str;	tm.length=strlen(str);	tm.type=V_ASN1_UTCTIME;	return(ASN1_UTCTIME_check(&tm));	}static int do_revoke(X509 *x509, CA_DB *db, int type, char *value)	{	ASN1_UTCTIME *tm=NULL;	char *row[DB_NUMBER],**rrow,**irow;	char *rev_str = NULL;	BIGNUM *bn = NULL;	int ok=-1,i;	for (i=0; i<DB_NUMBER; i++)		row[i]=NULL;	row[DB_name]=X509_NAME_oneline(X509_get_subject_name(x509),NULL,0);	bn = ASN1_INTEGER_to_BN(X509_get_serialNumber(x509),NULL);	if (BN_is_zero(bn))		row[DB_serial]=BUF_strdup("00");	else		row[DB_serial]=BN_bn2hex(bn);	BN_free(bn);	if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))		{		BIO_printf(bio_err,"Memory allocation failure\n");		goto err;		}	/* We have to lookup by serial number because name lookup	 * skips revoked certs 	 */	rrow=TXT_DB_get_by_index(db->db,DB_serial,row);	if (rrow == NULL)		{		BIO_printf(bio_err,"Adding Entry with serial number %s to DB for %s\n", row[DB_serial], row[DB_name]);		/* We now just add it to the database */		row[DB_type]=(char *)OPENSSL_malloc(2);		tm=X509_get_notAfter(x509);		row[DB_exp_date]=(char *)OPENSSL_malloc(tm->length+1);		memcpy(row[DB_exp_date],tm->data,tm->length);		row[DB_exp_date][tm->length]='\0';		row[DB_rev_date]=NULL;		/* row[DB_serial] done already */		row[DB_file]=(char *)OPENSSL_malloc(8);		/* row[DB_name] done already */		if ((row[DB_type] == NULL) || (row[DB_exp_date] == NULL) ||			(row[DB_file] == NULL))			{			BIO_printf(bio_err,"Memory allocation failure\n");			goto err;			}		BUF_strlcpy(row[DB_file],"unknown",8);		row[DB_type][0]='V';		row[DB_type][1]='\0';		if ((irow=(char **)OPENSSL_malloc(sizeof(char *)*(DB_NUMBER+1))) == NULL)			{			BIO_printf(bio_err,"Memory allocation failure\n");			goto err;			}		for (i=0; i<DB_NUMBER; i++)			{			irow[i]=row[i];			row[i]=NULL;			}		irow[DB_NUMBER]=NULL;		if (!TXT_DB_insert(db->db,irow))			{			BIO_printf(bio_err,"failed to update database\n");			BIO_printf(bio_err,"TXT_DB error number %ld\n",db->db->error);			goto err;			}		/* Revoke Certificate */		ok = do_revoke(x509,db, type, value);		goto err;		}	else if (index_name_cmp((const char **)row,(const char **)rrow))		{		BIO_printf(bio_err,"ERROR:name does not match %s\n",			   row[DB_name]);		goto err;		}	else if (rrow[DB_type][0]=='R')		{		BIO_printf(bio_err,"ERROR:Already revoked, serial number %s\n",			   row[DB_serial]);		goto err;		}	else		{		BIO_printf(bio_err,"Revoking Certificate %s.\n", rrow[DB_serial]);		rev_str = make_revocation_str(type, value);		if (!rev_str)			{			BIO_printf(bio_err, "Error in revocation arguments\n");			goto err;			}		rrow[DB_type][0]='R';		rrow[DB_type][1]='\0';		rrow[DB_rev_date] = rev_str;		}	ok=1;err:	for (i=0; i<DB_NUMBER; i++)		{		if (row[i] != NULL) 			OPENSSL_free(row[i]);		}	return(ok);	}static int get_certificate_status(const char *serial, CA_DB *db)	{	char *row[DB_NUMBER],**rrow;	int ok=-1,i;	/* Free Resources */	for (i=0; i<DB_NUMBER; i++)		row[i]=NULL;	/* Malloc needed char spaces */	row[DB_serial] = OPENSSL_malloc(strlen(serial) + 2);	if (row[DB_serial] == NULL)		{		BIO_printf(bio_err,"Malloc failure\n");		goto err;		}	if (strlen(serial) % 2)		{		/* Set the first char to 0 */;		row[DB_serial][0]='0';		/* Copy String from serial to row[DB_serial] */		memcpy(row[DB_serial]+1, serial, strlen(serial));		row[DB_serial][strlen(serial)+1]='\0';		}	else		{		/* Copy String from serial to row[DB_serial] */		memcpy(row[DB_serial], serial, strlen(serial));		row[DB_serial][strlen(serial)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv精品一区二区三区| 一区二区三区影院| 欧美酷刑日本凌虐凌虐| 色久优优欧美色久优优| 99视频一区二区| av动漫一区二区| 91麻豆国产精品久久| 91免费看`日韩一区二区| 91在线你懂得| 欧美艳星brazzers| 欧美日韩一区二区三区视频| 欧美视频日韩视频在线观看| 欧美精选午夜久久久乱码6080| 欧美日韩精品福利| 精品日韩在线一区| 日本一区二区高清| 亚洲第一成年网| 久久91精品国产91久久小草| 激情都市一区二区| 成人午夜私人影院| 欧美在线999| 欧美xxxxx裸体时装秀| 国产欧美日韩精品a在线观看| 日韩久久一区二区| 日本视频一区二区| 成人av免费在线观看| 欧美在线免费观看视频| 精品久久久久一区| 一区二区三区欧美亚洲| 蜜臀精品久久久久久蜜臀| 国产不卡视频一区| 欧美日韩精品免费观看视频| 久久精品一区二区三区不卡| 亚洲乱码日产精品bd| 久草精品在线观看| 色吧成人激情小说| 久久久国产精品午夜一区ai换脸| 亚洲免费观看高清完整版在线观看| 亚洲成人av资源| 国产成人一级电影| 91麻豆精品国产91久久久久| 欧美激情综合五月色丁香 | 91在线精品一区二区| 欧美一区二区人人喊爽| 中文一区在线播放| 久久www免费人成看片高清| 91在线云播放| 国产欧美精品一区二区色综合 | 日本午夜一本久久久综合| 国产.精品.日韩.另类.中文.在线.播放| 日本乱人伦一区| 国产精品网友自拍| 精品一区二区成人精品| 欧美妇女性影城| 亚洲国产一区视频| 欧美精品第一页| 亚洲欧美日韩一区二区| 极品瑜伽女神91| 日韩欧美国产综合一区| 亚洲伊人色欲综合网| 91麻豆国产在线观看| 国产精品久久一级| 风间由美一区二区三区在线观看 | 天天av天天翘天天综合网色鬼国产| 国产成人精品免费在线| 久久综合九色综合欧美亚洲| 七七婷婷婷婷精品国产| 欧美日本国产视频| 婷婷一区二区三区| 9191成人精品久久| 美女网站一区二区| 日韩欧美美女一区二区三区| 理论电影国产精品| 日韩一级完整毛片| 毛片av中文字幕一区二区| 91精品在线一区二区| 三级久久三级久久久| 777精品伊人久久久久大香线蕉| 亚洲综合清纯丝袜自拍| 欧美性极品少妇| 天堂成人免费av电影一区| 欧美福利一区二区| 韩国欧美国产1区| 欧美国产一区二区| 91麻豆免费视频| 亚洲成人免费电影| 欧美激情一区二区三区不卡 | 99精品视频一区二区| 亚洲欧美怡红院| 在线观看免费亚洲| 青青国产91久久久久久| 精品国产污污免费网站入口| 高清久久久久久| 亚洲免费在线看| 欧美一卡二卡在线观看| 国产一区日韩二区欧美三区| 国产日韩欧美在线一区| 91九色最新地址| 日本强好片久久久久久aaa| 日韩欧美中文字幕精品| 粉嫩高潮美女一区二区三区| 亚洲伦在线观看| 这里是久久伊人| 国产91露脸合集magnet| 亚洲成人在线免费| 久久男人中文字幕资源站| 99视频精品免费视频| 亚洲图片自拍偷拍| 欧美精品一区二区在线观看| 成人国产一区二区三区精品| 亚洲制服欧美中文字幕中文字幕| 欧美一二三区在线观看| 91精彩视频在线观看| 七七婷婷婷婷精品国产| 日韩一区在线免费观看| 日韩一级片在线观看| 暴力调教一区二区三区| 免费成人在线观看视频| 亚洲欧美日韩成人高清在线一区| 欧美tickling网站挠脚心| 91原创在线视频| 国产精品一区在线观看你懂的| 艳妇臀荡乳欲伦亚洲一区| 国产日韩精品一区二区三区在线| 欧美日韩亚洲综合一区 | 亚洲一级二级在线| 日本一区二区三区久久久久久久久不| 欧美视频自拍偷拍| 91原创在线视频| 成人深夜福利app| 寂寞少妇一区二区三区| 五月婷婷久久丁香| 亚洲男帅同性gay1069| 欧美国产日韩在线观看| 久久久久国产免费免费| 日韩精品一区二区三区在线播放| 色999日韩国产欧美一区二区| 丁香桃色午夜亚洲一区二区三区| 裸体歌舞表演一区二区| 免费观看91视频大全| 五月综合激情日本mⅴ| 亚洲国产你懂的| 亚洲一本大道在线| 亚洲男人天堂一区| 综合精品久久久| ...av二区三区久久精品| 国产精品超碰97尤物18| 中文字幕精品综合| 中文无字幕一区二区三区| 日韩美女视频在线| 日韩小视频在线观看专区| 欧美日韩国产精选| 91麻豆精品91久久久久久清纯 | 色综合欧美在线| 94-欧美-setu| 在线精品亚洲一区二区不卡| 97精品久久久久中文字幕| 久久国产麻豆精品| 国产乱色国产精品免费视频| 国产精品夜夜嗨| 成人国产精品免费观看动漫| 99re视频精品| 欧美色电影在线| 日韩欧美国产三级电影视频| 精品国产一区二区三区久久久蜜月 | 久久综合狠狠综合久久综合88| 日韩精品专区在线影院观看| 久久网站热最新地址| 国产日韩欧美在线一区| 亚洲人成影院在线观看| 一区二区三区丝袜| 日韩精品久久理论片| 国产一区二区在线观看视频| 成人av在线一区二区| 欧美在线短视频| 欧美mv日韩mv亚洲| 国产精品国产自产拍高清av王其| 亚洲欧美色一区| 久久精品国产一区二区三 | 韩国女主播一区| 91美女精品福利| 日韩欧美美女一区二区三区| 国产精品毛片高清在线完整版| 亚洲国产成人高清精品| 国产一区二区在线影院| 91免费看`日韩一区二区| 日韩欧美久久一区| 综合网在线视频| 黄色精品一二区| 欧美亚洲自拍偷拍| 国产免费观看久久| 天天操天天色综合| fc2成人免费人成在线观看播放| 欧美日韩一区不卡| 中文字幕一区二区在线播放| 美女一区二区在线观看| 欧美性xxxxxx少妇| 日韩你懂的在线观看| 一区二区欧美视频| 中文字幕在线不卡一区 |