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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? winserv2.cpp

?? 用于處理證書請求,生成證書的CA服務器源碼,
?? CPP
字號:
#include "caSocket.h"
#include "stdlib.h"
#include "stdio.h"
#include "process.h"
#include "DealAll.h"
#include "Dlodbc.h"
#include "dhodbc.h"
#include "certcreate.h"

#define BUFLEN 18000
#define PACKLEN	2400
caSocket m_Socket;		// Our winSocket wrapper class
BOOL m_bConnected;		// Boolean representing state of application
caSocket abc;
DBCONN dbconn[MAXDBCONN];
HANDLE hMutex=NULL; 
int g_nDebug=0;

#define INIFILE "c:\\fgcca3.ini"

struct param {
	SOCKET m_socket;
};

unsigned int __stdcall  FirstThread(void *pAcceptSocket)
{
	char szRcvBuf[BUFLEN]; 
	char szSndBuf[BUFLEN];
	caSocket def;
	int	nRtn;
	int OutDataLen;

//	printf("ThreadID = %d   SocketID=%d\n",GetCurrentThreadId(),*(SOCKET *)AcceptSocket);
	if(g_nDebug)
		printf("ThreadID=%d,SocketID=%d\n",GetCurrentThreadId(),*(SOCKET *)pAcceptSocket);
	def.m_hSocket = *(SOCKET *)pAcceptSocket;
//	def.m_hSocket = par->m_socket;
	
	memset(szRcvBuf,0,sizeof(szRcvBuf));
	nRtn = def.ExpRead(szRcvBuf,BUFLEN);
//	printf("recv nTotal = %d\n",nRtn);
	nRtn = DealAll(szRcvBuf,nRtn,szSndBuf,BUFLEN,&OutDataLen);

	if(g_nDebug)
		printf("DealAll RTN = %d\n",nRtn);

//	memset(szRcvBuf,'8',sizeof(szRcvBuf));
	nRtn = def.ExpWrite(szSndBuf,OutDataLen);
	//	printf("Snd %d\n",nRtn);
	nRtn = def.Close();
	if(nRtn != 0)
		printf("Close Error\n");


	_endthreadex(0);
	return 0;
}

void main(int argc,char **argv)
{


	int nRtn=0,i=0,nTotal=0;
//	SOCKET AcceptSocket;
	SQLHDBC hdbc=NULL; 
	unsigned char	databasename[30];//="fgog";                                                            
	unsigned char	username[30];//="ca";                                                                  
	unsigned char	password[30];//="fourgold"; 
	char	szIpAddr[30];
	char	szPvkPw[64]="";
	unsigned int nPort=0;
    SOCKET pAcceptSocket[5000];
	int		MAXSOCK=5000;

	//General a CA keypair and CA root certificate
	if(argc > 2)
	{
		if(strncmp(argv[1],"cainit",6) == 0)
		{
			strcpy(szPvkPw,argv[2]);

			nRtn = CACreateCertificate(
								"CAcert.cer",	//根證書導出到該證書文件
								"CAKEY.pvk",	//簽名公私鑰保存文件
								"CAXKEY.pvk",	//交換公私鑰保存文件
								"CAXKEY.pub",	//交換公鑰保存文件
								szPvkPw);		//密鑰文件口令
			if(nRtn != 0)
			{
    			printf("INIT CA FAIL = %d !\n",nRtn);
				return;
			}

			nRtn = GenSignCert();
			if(nRtn != 0)
    			printf("GenSignCert FAIL = %d !\n",nRtn);
			else
				printf("INIT CA SUCCESSFUL!\n");

		}


		if(strncmp(argv[1],"carestore",9) == 0)
		{
			strcpy(szPvkPw,argv[2]);
			nRtn = doRestore("CAcert.cer","CAKEY.pvk","CAXKEY.pvk",szPvkPw);
		}
		return;   	
	}



	// Create a mutex with no initial owner.

	hMutex = CreateMutex( 
		NULL,                       // no security attributes
		FALSE,                      // initially not owned
		"MutexToProtectDatabase");  // name of mutex
	if (hMutex == NULL) 
	{
		printf("Create Mutex Error!\n");
		return;
	}


	//get database parameter
	GetPrivateProfileString("DATABASE PARA","databasename","fgog",(char *)databasename,sizeof(databasename),INIFILE);
	GetPrivateProfileString("DATABASE PARA","username","ca",(char *)username,sizeof(username),INIFILE);
	GetPrivateProfileString("DATABASE PARA","password","fourgold",(char *)password,sizeof(password),INIFILE);
	//get socket parameter
	GetPrivateProfileString("SOCKET PARA","ipaddr","any",(char *)szIpAddr,sizeof(szIpAddr),INIFILE);
	nPort = GetPrivateProfileInt("SOCKET PARA","port",6768,INIFILE);
	//get debug prarmeter
	g_nDebug = GetPrivateProfileInt("DEBUG PARA","debug",1,INIFILE);


	for(i=0;i<MAXDBCONN;i++)
	{
		hdbc=ConnectDB(databasename, strlen((char *)databasename), username, strlen((char *)username), password, strlen((char *)password));
		if(hdbc != NULL)
		{
			dbconn[i].handle = (long)hdbc;
		}
		else
		{
			printf("conn db error\n");
			return;
		}
	}

	/*
	DWORD dwSerialNum;
	nRtn = DBGetSetSerial(&dwSerialNum);
	ISUCERT* p=NULL;
	DBInsertCertReq(p,dwSerialNum);
	

	DBInsertCert(111,(unsigned char *)"asdfasdfasdf",12);
	*/

	if( abc.Create() != ERR_SUCCESS ) // Create the socket
		return;
	nRtn = abc.Bind(szIpAddr,nPort);
	nRtn = abc.Listen(5);
	
	
	unsigned int dwThreadId; 
	HANDLE hThread; 

	int j=-1;
	while(1)
	{
		j++;
		if(j == MAXSOCK-1)
			j=0;

		for(i=0;i<MAXDBCONN;i++)
		{
			if(dbconn[i].status == 1)
			printf("dbconn[%d]:%d,%d,%d\n",i,dbconn[i].handle,dbconn[i].status,dbconn[i].threadid);
		}
		printf("\n\n");
//		SOCKET *pAcceptSocket = new SOCKET;
		pAcceptSocket[j] = abc.Accept();
//		*pAcceptSocket = abc.Accept();

		if(pAcceptSocket[j] == ERR_WSAERROR)
			continue;

		
	//	_beginthread(FirstThread,0,(void *) &AcceptSocket);

		hThread = (HANDLE) _beginthreadex( 
					   NULL,
					   0,
					   FirstThread,
					   (void*)&pAcceptSocket[j],//&AcceptSocket,
					   0,
					   &dwThreadId);

//		printf("ZThreadID = %d   ZSocketID=%d\n",dwThreadId,(unsigned int)pAcceptSocket[j]);
//		delete pAcceptSocket;
/*
		hThread = CreateThread( 
        NULL,                        // default security attributes 
        0,                           // use default stack size  
        FirstThread,                  // thread function 
        &AcceptSocket,                // argument to thread function 
        0,                           // use default creation flags 
        &dwThreadId);                // returns the thread identifier 
*/
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚州成人在线电影| 欧美在线小视频| 国产精品一二三区| 久久av中文字幕片| 久久99九九99精品| 国产一区不卡在线| 国v精品久久久网| 丁香啪啪综合成人亚洲小说| 成人黄动漫网站免费app| 北条麻妃一区二区三区| 99麻豆久久久国产精品免费| 成人免费三级在线| 91亚洲男人天堂| 色综合久久66| 91久久精品一区二区| 欧美性受极品xxxx喷水| 欧美精品在线一区二区三区| 91精品国产91热久久久做人人| 7777精品伊人久久久大香线蕉超级流畅| 欧美日韩日日摸| 欧美sm极限捆绑bd| 久久久久久久久久美女| 中文文精品字幕一区二区| 国产精品国产三级国产有无不卡| 亚洲天堂2014| 五月综合激情婷婷六月色窝| 奇米色一区二区| 国产激情一区二区三区| 91老师片黄在线观看| 欧美日韩国产三级| 精品欧美乱码久久久久久1区2区| 欧美国产1区2区| 亚洲国产精品天堂| 狠狠色综合播放一区二区| 波多野结衣一区二区三区 | 国产a久久麻豆| 91成人网在线| 精品卡一卡二卡三卡四在线| 中文字幕佐山爱一区二区免费| 亚洲大型综合色站| 国产成人aaa| 欧美日本不卡视频| 中文字幕av一区二区三区高| 亚洲国产成人av网| 国产成人av一区二区三区在线观看| 日本乱人伦aⅴ精品| 精品免费99久久| 亚洲精品第一国产综合野| 美女网站在线免费欧美精品| 色婷婷久久99综合精品jk白丝| 日韩欧美中文字幕公布| 中文字幕在线播放不卡一区| 日韩不卡一二三区| av不卡免费在线观看| 日韩精品综合一本久道在线视频| 国产精品久99| 精品一区二区三区视频在线观看| 91亚洲国产成人精品一区二三| 欧美一二三在线| 亚洲人成网站色在线观看| 精品一区二区三区在线观看| 91高清视频在线| 国产欧美日本一区视频| 蜜臀精品久久久久久蜜臀| 在线中文字幕一区二区| 亚洲国产精品传媒在线观看| 老司机免费视频一区二区| 欧美午夜片在线观看| 中文字幕在线不卡| 国产精品一区二区无线| 欧美一区二区大片| 亚洲一区二区欧美日韩| 99久久er热在这里只有精品66| 亚洲精品一区二区三区四区高清 | 国产乱一区二区| 7777精品伊人久久久大香线蕉| 亚洲欧美另类综合偷拍| 国产精品白丝av| 日韩免费在线观看| 天堂久久一区二区三区| 欧美亚洲一区三区| 亚洲精选视频在线| av在线一区二区| 亚洲国产成人午夜在线一区| 狠狠色狠狠色合久久伊人| 欧美精品第1页| 婷婷亚洲久悠悠色悠在线播放| 色综合久久久久久久久久久| 亚洲色图清纯唯美| www.av精品| 国产精品久久国产精麻豆99网站| 亚洲三级免费电影| 欧美军同video69gay| 中文字幕在线播放不卡一区| 国产乱码精品一区二区三| 日韩欧美一级精品久久| 午夜视频一区二区三区| 欧美又粗又大又爽| 亚洲激情网站免费观看| 99re热这里只有精品视频| 亚洲少妇30p| 一本一道综合狠狠老| 亚洲精品v日韩精品| 色综合色狠狠综合色| 亚洲男同性恋视频| 91福利小视频| 香蕉成人伊视频在线观看| 欧美精品久久一区二区三区| 视频一区二区中文字幕| 欧美一区二区成人6969| 麻豆成人在线观看| 久久久久久久久蜜桃| 成人免费视频网站在线观看| 综合久久综合久久| 91成人网在线| 视频一区二区中文字幕| 日韩一区二区三区在线| 久久99国产精品麻豆| 久久毛片高清国产| 国产suv精品一区二区6| 亚洲图片另类小说| 欧美美女直播网站| 激情国产一区二区| 国产精品久久久久久久久图文区 | 欧美在线色视频| 天堂蜜桃一区二区三区| 欧美成人高清电影在线| 豆国产96在线|亚洲| 亚洲一区国产视频| 日韩免费看网站| youjizz国产精品| 午夜av电影一区| 久久精品亚洲一区二区三区浴池| 97se亚洲国产综合在线| 亚洲成精国产精品女| 日韩区在线观看| 成人教育av在线| 亚洲一级二级在线| 欧美精品一区二区三区蜜桃视频| 成人激情黄色小说| 丝袜a∨在线一区二区三区不卡 | 日韩主播视频在线| 久久久亚洲高清| 色天使色偷偷av一区二区| 日本亚洲最大的色成网站www| 国产日产精品一区| 色呦呦国产精品| 久久国产乱子精品免费女| 中文字幕一区二区三区在线观看 | 91精品国产麻豆| 粉嫩一区二区三区在线看| 一区二区在线免费| 日韩欧美久久久| 色综合天天在线| 国产主播一区二区| 亚洲成人激情综合网| 久久精品免视看| 欧美精品自拍偷拍| 一本在线高清不卡dvd| 国产一区二区电影| 日欧美一区二区| 亚洲久本草在线中文字幕| 久久久99精品久久| 欧美肥大bbwbbw高潮| 97久久精品人人做人人爽50路| 精油按摩中文字幕久久| 亚洲综合一区二区| 亚洲国产精品t66y| 日韩精品一区二区在线| 欧美在线观看一区二区| 成人免费福利片| 狠狠色伊人亚洲综合成人| 亚洲成人手机在线| 亚洲欧美日本在线| 国产欧美日韩久久| 欧美精品一区二区三区蜜桃| 欧美久久久久久蜜桃| 在线看日本不卡| 国产99久久久国产精品潘金网站| 麻豆一区二区在线| 午夜激情一区二区三区| 亚洲欧美日韩国产另类专区| 久久久美女毛片| 日韩写真欧美这视频| 欧美日韩一区 二区 三区 久久精品| 99国内精品久久| 国产69精品久久777的优势| 国产在线播放一区三区四| 美女视频黄a大片欧美| 午夜电影网一区| 亚洲一区二区视频在线观看| 日韩理论片中文av| 中文字幕一区av| 中文字幕精品一区二区三区精品| 久久久久99精品国产片| 精品福利一二区| 欧美α欧美αv大片| 精品国产乱码久久久久久图片| 欧美一区二区三区播放老司机 | 亚洲曰韩产成在线|