Procházet zdrojové kódy

Z991239-841 #comment fix:修改linux下获取硬件序列号

雷志明80280620 před 5 roky
rodič
revize
4d5a908e7d

+ 6 - 6
Module/mod_Initializer/InitializerConn.cpp

@@ -6,7 +6,7 @@
 #include "array.h"
 #include "strutil.h"
 #include "EventCode.h"
-#include "InitializerErrorCode.h"
+#include "comm.h"
 #pragma comment(lib, "crypt32.lib")
 
 #include <string.h>
@@ -648,7 +648,7 @@ ErrorCodeEnum CInitializerConn::HandleInitMKRet(const CSmartPointer<IPackage> &p
 
 ErrorCodeEnum GetPukeyValue(BYTE* pPukeyContent, int nPuKeyContentLen, int nKeyType, BYTE* pPukeyValue, int* PukeyValueLen)
 {
-	if (NULL == pPukeyContent || 0 == nPuKeyContentLen || (DES != nKeyType && SM4 != nKeyType) || NULL == pPukeyValue || NULL == PukeyValueLen)
+	if (NULL == pPukeyContent || 0 == nPuKeyContentLen || (0 != nKeyType && 1 != nKeyType) || NULL == pPukeyValue || NULL == PukeyValueLen)
 	{
 		return Error_Param;
 	}
@@ -661,12 +661,12 @@ ErrorCodeEnum GetPukeyValue(BYTE* pPukeyContent, int nPuKeyContentLen, int nKeyT
 	strContent = strContent.SubString(nStartPos+1, strContent.GetLength()-6);
 	Dbg("pukeyVule[%s]", strContent.GetData());
 
-	if (DES == nKeyType)
+	if (0 == nKeyType)
 	{
 		nStartPos = strContent.IndexOf("PublicKey=");
 		strContent = strContent.SubString(nStartPos+10, strContent.GetLength()-10);
 	}
-	else if (SM4 == nKeyType)
+	else if (1 == nKeyType)
 	{
 		nStartPos = strContent.IndexOf("PublicKeySM2=");
 		strContent = strContent.SubString(nStartPos+13, strContent.GetLength()-13);
@@ -743,7 +743,7 @@ ErrorCodeEnum CInitializerConn::HandleSyncPubKeyRet(const CSmartPointer<IPackage
 						}
 
 						memset(pEntity->m_cTDESPukey, 0, 2048);
-						GetPukeyValue(pRet[i].Content, pRet[i].FileLen, DES, pEntity->m_cTDESPukey, &(pEntity->m_iTDESPukeyLen));
+						GetPukeyValue(pRet[i].Content, pRet[i].FileLen, 0, pEntity->m_cTDESPukey, &(pEntity->m_iTDESPukeyLen));
 
 						if (memcmp(hash, pRet[i].FileHash, 16) != 0)
 						{
@@ -769,7 +769,7 @@ ErrorCodeEnum CInitializerConn::HandleSyncPubKeyRet(const CSmartPointer<IPackage
 						}
 
 						memset(pEntity->m_cSM2Pukey, 0, 2048);
-						GetPukeyValue(pRet[i].Content, pRet[i].FileLen, SM4, pEntity->m_cSM2Pukey, &(pEntity->m_iSM2Pukeylen));
+						GetPukeyValue(pRet[i].Content, pRet[i].FileLen, 1, pEntity->m_cSM2Pukey, &(pEntity->m_iSM2Pukeylen));
 
 						if (memcmp(hash, pRet[i].FileHash, 16) != 0)
 						{

+ 1 - 1
Module/mod_Initializer/InitializerFSM.cpp

@@ -1,7 +1,7 @@
 #include "stdafx2.h"
 #include "InitializerFSM.h"
 #include "mod_Initializer.h"
-#include "Event.h"
+#include "comm.h"
 #include "EventCode.h"
 CInitializerFSM::CInitializerFSM()
 {

+ 1 - 1
Module/mod_Initializer/InitializerFSM.h

@@ -3,7 +3,7 @@
 
 
 #include "SpFSM.h"
-#include "InitializerErrorCode.h"
+#include "comm.h"
 class CInitializerFSM : public FSMImpl<CInitializerFSM>, public IFSMStateHooker
 {
 public:

+ 105 - 78
Module/mod_Initializer/mod_Initializer.cpp

@@ -125,15 +125,16 @@ void CInitializerEntity::OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLog
 	{
 		Dbg("收到EVENT_UKEY_PULLOUT");
 		m_strUserID = "";
-
+		/*
 		if (m_hGUIWindow != 0)
 		{
-			//PostMessage(m_hGUIWindow, WM_CLOSE_DLG, 0, 0);
+			PostMessage(m_hGUIWindow, WM_CLOSE_DLG, 0, 0);
 		}
 		else
 		{
 			Dbg("密钥初始化窗口句柄为空");
 		}
+		*/
 	}
 }
 
@@ -170,6 +171,7 @@ ErrorCodeEnum CInitializerEntity::StartInitializeNew(const char *pszAuthServer,
 // KMC初始化
 ErrorCodeEnum CInitializerEntity::InitKMC(int nPinPadCapability)
 {
+	/*
 	CSystemStaticInfo si;
 	ErrorCodeEnum rc = GetFunction()->GetSystemStaticInfo(si);	
 	if (rc != Error_Succeed)
@@ -177,7 +179,6 @@ ErrorCodeEnum CInitializerEntity::InitKMC(int nPinPadCapability)
 		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_GET_SYSTEM_STATIC_INFO,
 			GetOutPutStr("%s%08X", "GetSystemStaticInfo", rc).c_str());
 		m_strLastErrMsg = "获取配置信息失败(GetSystemStaticInfo)";
-		LogError(Severity_Middle, rc, ERROR_ACCESSAUTH_GETSTATICINFO, "InitKMC()=>GetSystemStaticInfo() fail");
 		return rc;
 	}
 
@@ -278,7 +279,7 @@ ErrorCodeEnum CInitializerEntity::InitKMC(int nPinPadCapability)
 		m_strLastErrMsg = CSimpleStringA::Format("KMC初始化失败, 错误信息[%s], 返回值[%d]", (const char*)GetKMCLastErrMsg(), nRet);
 		return Error_DevLoadFileFailed;
 	}
-
+	*/
 	Dbg("kmc init succeed!");
 	return Error_Succeed;
 }
@@ -287,7 +288,7 @@ CSimpleStringA CInitializerEntity::GetKMCLastErrMsg()
 {
 	char szBuf[256];
 	memset(szBuf, 0, 256);
-
+	/*
 	int nBufLen = 256;
 
 	if (HasCkCodeFlg())
@@ -298,12 +299,13 @@ CSimpleStringA CInitializerEntity::GetKMCLastErrMsg()
 	{
 		GetLastErrorMsg(szBuf, &nBufLen);
 	}
-	
+	*/
 	return szBuf;
 }
 
 ErrorCodeEnum CInitializerEntity::ReleaseKMC()
 {
+	/*
 	if (HasCkCodeFlg())
 	{
 		::RvcRelease();
@@ -312,7 +314,7 @@ ErrorCodeEnum CInitializerEntity::ReleaseKMC()
 	{
 		::Release();
 	}
-	
+	*/
 	return Error_Succeed;
 }
 	
@@ -390,6 +392,7 @@ string CInitializerEntity::ByteArrayToHexStr(BYTE *pBuf, int nBufLen)
 // 加载主密钥
 ErrorCodeEnum CInitializerEntity::LoadKeysToPinPad(bool bSM)
 {
+	/*
 	// 取出主密钥
 	char keyBuf[64];
 	int nKeyBufLen = 64;
@@ -707,11 +710,13 @@ ErrorCodeEnum CInitializerEntity::LoadKeysToPinPad(bool bSM)
 			return rc;
 		}
 	}	
+	*/
+	return Error_Succeed;
 }
 
 ErrorCodeEnum CInitializerEntity::CreateInitMKData(CBlob &blob, bool bSM)
 {
-	if (blob.m_iLength < 600)
+	/*if (blob.m_iLength < 600)
 		blob.Alloc(600);
 
 	char TempKey[64] = {0};
@@ -743,7 +748,7 @@ ErrorCodeEnum CInitializerEntity::CreateInitMKData(CBlob &blob, bool bSM)
 			bSM ? "CreateInitSMTMKReq()" : "CreateInitTMKReq",
 			(const char*)GetKMCLastErrMsg(), nRet));
 		return Error_Unexpect;
-	}
+	}*/
 
 	return Error_Succeed;
 }
@@ -751,41 +756,41 @@ ErrorCodeEnum CInitializerEntity::CreateInitMKData(CBlob &blob, bool bSM)
 // 解析返回DES主密钥
 ErrorCodeEnum CInitializerEntity::ParseInitMKResult(CBlob &blob, bool bSM)
 {
-	// 调用KMC解析返回
-	int nRet = 0;
-		
-	//Dbg("parse %s TMK data: [%s], len: %d", bSM ? "SM" : "DES", blob.m_pData, blob.m_iLength);
-	
-	int nKeyBufLen = 64;
-	memset(m_cTDESTMK, 0, 64);
-	memset(m_cSM2TMK, 0, 64);
-
-	if (HasCkCodeFlg())
-	{
-		if (bSM)
-		{
-			nRet = ::RvcParseTMKRes((char*)blob.m_pData, blob.m_iLength, SM4, m_cSM2TMK, &nKeyBufLen, &m_pkeys);
-		}
-		else
-		{
-			nRet = ::RvcParseTMKRes((char*)blob.m_pData, blob.m_iLength, DES, m_cTDESTMK, &nKeyBufLen, &m_pkeys);
-		}
-	}
-	else
-	{
-		if (bSM)
-			nRet = ::ParseSMTMKRes((char*)blob.m_pData, blob.m_iLength);
-		else
-			nRet = ::ParseTMKRes((char*)blob.m_pData, blob.m_iLength);
-	}
-	
-	if (nRet != 0)
-	{
-		LogError(Severity_Low, Error_Unexpect, ERROR_INITIALIZER_PARSEINITMKRES,  (const char*)CSimpleStringA::Format("parse %s TMK return data fail, GetKMCLastErrMsg[%s], return [%d]", 
-			bSM ? "SM" : "DES",
-			(const char*)GetKMCLastErrMsg(), nRet));
-		return Error_Unexpect;
-	}
+	//// 调用KMC解析返回
+	//int nRet = 0;
+	//	
+	////Dbg("parse %s TMK data: [%s], len: %d", bSM ? "SM" : "DES", blob.m_pData, blob.m_iLength);
+	//
+	//int nKeyBufLen = 64;
+	//memset(m_cTDESTMK, 0, 64);
+	//memset(m_cSM2TMK, 0, 64);
+
+	//if (HasCkCodeFlg())
+	//{
+	//	if (bSM)
+	//	{
+	//		nRet = ::RvcParseTMKRes((char*)blob.m_pData, blob.m_iLength, SM4, m_cSM2TMK, &nKeyBufLen, &m_pkeys);
+	//	}
+	//	else
+	//	{
+	//		nRet = ::RvcParseTMKRes((char*)blob.m_pData, blob.m_iLength, DES, m_cTDESTMK, &nKeyBufLen, &m_pkeys);
+	//	}
+	//}
+	//else
+	//{
+	//	if (bSM)
+	//		nRet = ::ParseSMTMKRes((char*)blob.m_pData, blob.m_iLength);
+	//	else
+	//		nRet = ::ParseTMKRes((char*)blob.m_pData, blob.m_iLength);
+	//}
+	//
+	//if (nRet != 0)
+	//{
+	//	LogError(Severity_Low, Error_Unexpect, ERROR_INITIALIZER_PARSEINITMKRES,  (const char*)CSimpleStringA::Format("parse %s TMK return data fail, GetKMCLastErrMsg[%s], return [%d]", 
+	//		bSM ? "SM" : "DES",
+	//		(const char*)GetKMCLastErrMsg(), nRet));
+	//	return Error_Unexpect;
+	//}
 
 	return Error_Succeed;
 }
@@ -843,7 +848,8 @@ bool CInitializerEntity::SetCenterSettingAddr(const char *pszAddr, int nPort)
 	GetFunction()->GetPath("CenterSetting", strPath);
 	
 	auto strAuthAccessAddr = CSimpleStringA::Format("%s %d", pszAddr, nPort);
-	return !!WritePrivateProfileString("CenterSetting", "Server", strAuthAccessAddr, strPath);
+	//return !!WritePrivateProfileString("CenterSetting", "Server", strAuthAccessAddr, strPath);
+	return inifile_format_write(strPath.GetData(), "CenterSetting", "Server", "%s", strAuthAccessAddr.GetData());
 }
 
 bool CInitializerEntity::GetInitUkeyFlg(int &nUkeyFlg)
@@ -970,7 +976,7 @@ ErrorCodeEnum CInitializerEntity::DownloadCfg(const char *pszSettingServer, int
 {
 	if (!IsServiceAvailable(pszSettingServer, nSettingPort))
 	{
-		m_strLastErrMsg = CSimpleStringA::Format("集中配置服务[%s:%d]无法连接(error:%d)", pszSettingServer, nSettingPort, WSAGetLastError());
+		m_strLastErrMsg = CSimpleStringA::Format("集中配置服务[%s:%d]无法连接", pszSettingServer, nSettingPort);
 		return Error_Param;
 	}
 
@@ -1210,7 +1216,7 @@ void CInitializerEntity::EndLogin(ErrorCodeEnum rc, const char *pErrMsg)
 			GetOutPutStr("%s%08X%s%s", "EndLogin", rc, "pErrMsg", pErrMsg).c_str());
 		m_eErrNum = rc;
 		m_strLastErrMsg = pErrMsg;
-		if (m_hGUIWindow == 0)
+		//if (m_hGUIWindow == 0)
 		{
 			if (m_type != 1)
 			{
@@ -1231,11 +1237,11 @@ void CInitializerEntity::EndLogin(ErrorCodeEnum rc, const char *pErrMsg)
 		m_strLastErrMsg = "";
 	}
 
-	if (m_hGUIWindow != 0)
+	//if (m_hGUIWindow != 0)
 	{
 		//PostMessage(m_hGUIWindow, WM_LOGIN_RESULT, rc, 0);
 	}
-	else
+	//else
 	{
 		if (rc == Error_Succeed)
 		{
@@ -1287,7 +1293,7 @@ void CInitializerEntity::EndSyncPK(ErrorCodeEnum rc, const char *pszErrMsg)
 			GetOutPutStr("%s%08X%s%s", "EndSyncPK", rc, "pszErrMsg", pszErrMsg).c_str());
 		m_eErrNum = rc;
 		m_strLastErrMsg = pszErrMsg;
-		if (m_hGUIWindow == 0)
+		//if (m_hGUIWindow == 0)
 		{
 			if (m_type == 0) {
 				m_ctx->Ans.Errcode = rc;
@@ -1307,11 +1313,11 @@ void CInitializerEntity::EndSyncPK(ErrorCodeEnum rc, const char *pszErrMsg)
 		m_strLastErrMsg = "";
 	}
 
-	if (m_hGUIWindow != 0)
+	//if (m_hGUIWindow != 0)
 	{
 		//PostMessage(m_hGUIWindow, WM_SYNCPK_RESULT, rc, 0);
 	}
-	else
+	//else
 	{
 		if (rc == Error_Succeed)
 		{
@@ -1498,11 +1504,11 @@ void CInitializerEntity::EndInitMK(ErrorCodeEnum rc, const char *pszErrMsg)
 	m_FSM.PostEventFIFO(pEvent);
 
 	// 通知UI窗口
-	if (m_hGUIWindow != 0)
+	//if (m_hGUIWindow != 0)
 	{
 		//PostMessage(m_hGUIWindow, WM_INITMK_RESULT, rc, 0);
 	}
-	else
+	//else
 	{
 		int nInitializedFlg = 1;
 		GetInitializedFlg(nInitializedFlg);
@@ -1650,12 +1656,13 @@ ErrorCodeEnum CInitializerEntity::StartGUINew()
 
 ErrorCodeEnum CInitializerEntity::CloseGUI()
 {
-	if (m_hGUIWindow ==0)
+	
+	/*if (m_hGUIWindow ==0)
 		return Error_NotInit;
 
 	ResetEvent(m_hGUIClosedEvent);
 	PostMessage(m_hGUIWindow, WM_CLOSE, 0, 0);
-	WaitForSingleObject(m_hGUIClosedEvent, INFINITE);
+	WaitForSingleObject(m_hGUIClosedEvent, INFINITE);*/
 	return Error_Succeed;
 }
 
@@ -1940,69 +1947,89 @@ static char* ConvertBytesToHexStr(BYTE *pBuf, int nLen)
 
 bool CInitializerEntity::GetTerminalFingerPrint(BYTE *pBuf, int &nBufLen)
 {
-	char szTmp[1024] = {};
+	char szTmp[1024] = {0};
+	string strTmp;
 	int nTmpBufLen = 1024;
 
 	CSimpleStringA strRet;
+#ifdef RVC_OS_WIN
 	if (!QueryWMIDevice(Processor, "ProcessorId", szTmp, &nTmpBufLen))
+#else
+	if(!get_cpu_id_by_asm(strTmp))
+#endif // RVC_OS_WIN
 	{
 		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_GET_PROCCESSOR_ID,
-			GetOutPutStr("%s%s%s%d", "Processor", "False","ErrorCode", GetLastError()).c_str());
-		//LogError(Severity_Low, Error_Unexpect, ERROR_ACCESSAUTH_GETCPUID, CSimpleStringA::Format("query cpu id fail: %d", GetLastError()));
-		m_strLastErrMsg = CSimpleStringA::Format("query cpu id fail, 错误码[%d], 请重启机器并重新初始化", GetLastError());
+			GetOutPutStr("%s%s", "Processor", "False").c_str());
+		m_strLastErrMsg = CSimpleStringA::Format("查询CPU ID失败,请重启机器并重新初始化");
 		return false;
 	}
-	strRet = szTmp;
+	
+#ifdef RVC_OS_WIN
 	//Dbg("cpu id: %s", szTmp);
-
+	strRet = szTmp;
 	nTmpBufLen = 1024;
 	memset(szTmp, 0, sizeof(szTmp));
 	if (!QueryWMIDevice(BaseBoard, "SerialNumber", szTmp, &nTmpBufLen))
+#else
+	Dbg("cpu id: %s", strTmp.c_str());
+	strRet = strTmp.c_str();
+	strTmp.clear();
+	if(!get_board_serial_by_system(strTmp))
+#endif // RVC_OS_WIN
 	{
 		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_GET_BASEBOARD_ID,
-			GetOutPutStr("%s%s%s%d", "BaseBoard", "False", "ErrorCode", GetLastError()).c_str());
-		//LogError(Severity_Low, Error_Unexpect, ERROR_ACCESSAUTH_GETBASEBOARDSN, CSimpleStringA::Format("query baseboard sn fail: %d", GetLastError()));
-		m_strLastErrMsg = CSimpleStringA::Format("query baseboard sn fail, 错误码[%d], 请重启机器并重新初始化", GetLastError());
+			GetOutPutStr("%s%s", "BaseBoard", "False").c_str());
+		m_strLastErrMsg = CSimpleStringA::Format("查询主板序列号失败,  请重启机器并重新初始化");
 		return false;
 	}
-	//Dbg("baseboard sn: %s", szTmp);
-
 	strRet += "|";
+#ifdef RVC_OS_WIN
+	//Dbg("baseboard sn: %s", szTmp);
 	strRet += szTmp;
-
 	nTmpBufLen = 1024;
 	memset(szTmp, 0, sizeof(szTmp));
 	if (!QueryWMIDevice(DiskDrive, "SerialNumber", szTmp, &nTmpBufLen))
+#else
+	Dbg("baseboard sn: %s", strTmp.c_str());
+	strRet += strTmp.c_str();
+	vector<string> disk;
+	if(!get_disk_serial_by_system(disk))
+#endif // RVC_OS_WIN
 	{
-		
 		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_GET_DISKDRIVE_ID,
-			GetOutPutStr("%s%s%s%d", "DiskDrive", "False", "ErrorCode", GetLastError()).c_str());
-		//LogError(Severity_Low, Error_Unexpect, ERROR_ACCESSAUTH_DISKDRIVESN, CSimpleStringA::Format("query harddisk sn fail: %d", GetLastError()));
-		m_strLastErrMsg = CSimpleStringA::Format("query harddisk sn fail, 错误码[%d], 请重启机器并重新初始化", GetLastError());
+			GetOutPutStr("%s%s", "DiskDrive", "False").c_str());
+		m_strLastErrMsg = CSimpleStringA::Format("查询磁盘序列号失败, 请重启机器并重新初始化");
 		return false;
 	}
-	//Dbg("harddisk sn: %s", szTmp);
-
+	
 	strRet += "|";
+#ifdef RVC_OS_WIN
+	//Dbg("harddisk sn: %s", szTmp);
 	strRet += szTmp;
+#else
+	strTmp = "";
+	vector<string>::iterator it = disk.begin();
+	while (it != disk.end()) {
+		strTmp += *it;
+		it++;
+	}
+	Dbg("harddisk sn: %s", strTmp.c_str());
+	strRet += strTmp.c_str();
+#endif // RVC_OS_WIN
 
 	Dbg("device info: [%s]", (const char*)strRet);
-
 	// md5 hash
 	BYTE md5[16] = {};
 	if (!GetMD5Hash((const char*)strRet, md5))
 	{
-		
 		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_GET_STR_HASH,
 			GetOutPutStr("%s%s", "GetMD5Hash", "False").c_str());
-		//LogError(Severity_Low, Error_Unexpect, ERROR_ACCESSAUTH_GETMD5HASH, "get md5 hash as fingerprint fail");
 		m_strLastErrMsg = "get md5 hash as fingerprint fail";
 		return false;
 	}
 
 	if (nBufLen < 16)
 	{
-		//LogError(Severity_Low, Error_Unexpect, ERROR_ACCESSAUTH_GETMD5HASH, "GetTerminalFingerPrint, buf len is too small");
 		m_strLastErrMsg = "GetTerminalFingerPrint, buf len is too small";
 		Dbg("GetTerminalFingerPrint, buf len is too small.");
 		return false;

+ 17 - 16
Module/mod_Initializer/mod_Initializer.h

@@ -2,7 +2,7 @@
 #define __MOD_INITIALIZER_H
 #include "stdafx2.h"
 //#include "SpTest.h"
-#include "RVCCrypt.h"
+//#include "RVCCrypt.h"
 #include "InitializerConn.h"
 #include "InitializerFSM.h"
 #include "Initializer_server_g.h"
@@ -33,7 +33,7 @@ class CInitializerEntity : public CEntityBase, public ITimerListener, public ILo
 public:
 	//ON_ENTITYT_TEST();
 	CInitializerEntity()
-		:m_pConnection(NULL), m_hGUIWindow(0), m_hGUIReadyEvent(0), m_hGUIClosedEvent(0)
+		:m_pConnection(NULL)//, m_hGUIWindow(0), m_hGUIReadyEvent(0), m_hGUIClosedEvent(0)
 	{
 		memset(m_cTDESPukey, 0, 2048);
 		memset(m_cSM2Pukey, 0, 2048);
@@ -45,9 +45,9 @@ public:
 
 		m_eErrNum = Error_Succeed;
 	}
-	
 	virtual ~CInitializerEntity() 
 	{
+		/*
 		if (m_hGUIReadyEvent != 0)
 		{
 			CloseHandle(m_hGUIReadyEvent);
@@ -59,7 +59,7 @@ public:
 			CloseHandle(m_hGUIClosedEvent);
 			m_hGUIClosedEvent = 0;
 		}
-
+		*/
 		//此处会引起初始化成功后,退出框架是报错
 		/*if (NULL != m_pkeys)
 		{
@@ -70,10 +70,8 @@ public:
 
 	virtual const char *GetEntityName() const { return "Initializer"; }
 	virtual bool IsService()const{return true;}
-
 	virtual void OnStarted();
 	virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext);
-	
 	virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszClass*/)
 	{
 		//LOG_FUNCTION();
@@ -82,6 +80,8 @@ public:
 	virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
 		const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID, 
 		const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage);
+	virtual void OnTimeout(DWORD dwTimerID);
+
 	// 初始化
 	ErrorCodeEnum StartInitialize(const char *pszUserID, const char *pszPassword);
 	ErrorCodeEnum StartInitializeNew(const char *pszAuthServer, int nAuthPort, const char *pszUserID, const char *pszPassword);
@@ -109,7 +109,6 @@ public:
 	bool HexStrToByteArray(const char* pHex, BYTE *pBuf, int *pBufLen);
 	string ByteArrayToHexStr(BYTE *pBuf, int nBufLen);
 
-	virtual void OnTimeout(DWORD dwTimerID);
 	bool GetAuthAccessAddr(CSimpleStringA &strAddr, int &nPort);
 	bool SetAuthAccessAddr(const char *pszAddr, int nPort);
 	bool GetCenterSettingAddr(CSimpleStringA &strAddr, int &nPort);
@@ -117,6 +116,7 @@ public:
 	bool GetInitUkeyFlg(int &nUkeyFlg);
 	bool GetInitializedFlg(int &nInitializedFlg);
 	bool SetInitializedFlg(CSimpleStringA strInitState);
+
 	bool IsIL();//是否是简化版	
 	
 	ErrorCodeEnum SecureClientConnect();
@@ -130,6 +130,7 @@ public:
 	void EndLogin(ErrorCodeEnum rc, const char *pErrMsg);
 	void BeginSyncPK();
 	void EndSyncPK(ErrorCodeEnum rc, const char *pszErrMsg);
+
 	ErrorCodeEnum ReportInitMKState(const char *pszUserID, DWORD dwErrCode,  const char *pszErrMsg);
 	ErrorCodeEnum DownloadCfg(const char *pszSettingServer, int nSettingPort);
 	ErrorCodeEnum InitCardSwiper();
@@ -145,7 +146,6 @@ public:
 	bool GetTerminalFingerPrint(BYTE *pBuf, int &nBufLen);
 	bool GetTerminalPublicKey(BYTE *pBuf, int &nBufLen);
 	bool GetMD5Hash(const char *pStr, BYTE md5[16]);
-
     // 获取密码键盘ID和外设ID
 	// 返回1:只有PinPadID;2:只有DeviceID;3:两者都有;0:失败
 	int GetPinPadIDAndDeviceID(CSimpleStringA &strPinPadID, CSimpleStringA &strDeviceID);
@@ -174,22 +174,23 @@ private:
 	bool IsServiceAvailable(const char *pszServiceAddr, int nServerPort);
 	ErrorCodeEnum ParseIPAddress(const char *str, CSimpleStringA &ip, int &port);
 
-	int GUIThreadEntry();
-	static unsigned int __stdcall __GUIThreadEntry(void *arg);
+	//int GUIThreadEntry();
+	//static unsigned int __stdcall __GUIThreadEntry(void *arg);
 
 private:
-	EncKeys* m_pkeys;
+	//EncKeys* m_pkeys;
+	//HWND m_hGUIWindow;
+	//HANDLE m_hGUIReadyEvent;
+	//HANDLE m_hGUIClosedEvent;
+	//friend class CMKInitDlg;
 	CSimpleStringA m_strAuthServer;
+
 	int m_nAuthPort;
 	
 	CInitializerFSM m_FSM;
-	HWND m_hGUIWindow;
-	HANDLE m_hGUIReadyEvent;
-	HANDLE m_hGUIClosedEvent;
-
 	
 	CInitializerConn *m_pConnection;
-	friend class CMKInitDlg;
+	
 	CSimpleStringA m_strInitUserID;
 };
 #endif