Browse Source

Merge branch 'ST2' of http://gitee.itc.cmbchina.cn/QD_RemoteBankArea/LR04.02_RVCTerminalPlus into ST2

80374374 1 year ago
parent
commit
c6c33d59d0

+ 7 - 7
Framework/RvcLogSdk/log_builder.c

@@ -204,7 +204,7 @@ int add_log(log_group_builder* bder, long start_time, uint32_t pack_index, log_i
     int32_t totalBufferSize;
     build_item* grp_log;
     long now;
-    char nowTime[64] = { 0 }, local_ip_str[64] = { 0 }, unitedNowTime[64] = { 0 };
+    char nowTime[64] = { 0 }, unitedNowTime[64] = { 0 };
 
     if (bder->grp->n_logs >= MAX_LOG_COUNT) {
         return -1;
@@ -213,7 +213,6 @@ int add_log(log_group_builder* bder, long start_time, uint32_t pack_index, log_i
     memset(bder->grp->logs[bder->grp->n_logs].uuid, 0, MAX_UUID_LEN);
     get_format_uuid(bder->grp->logs[bder->grp->n_logs].uuid, MAX_UUID_LEN);
     aos_debug_log((LB, "add_log 1"));
-    GetLocalIP(local_ip_str);
     aos_debug_log((LB, "add_log 2"));
     now = record_time;
     aos_debug_log((LB, "add_log 3"));
@@ -264,7 +263,6 @@ int add_log(log_group_builder* bder, long start_time, uint32_t pack_index, log_i
 
             cJSON_AddItemToObject(skyeye_content, "BeginTime", cJSON_CreateNumber(log->BeginTime));
             cJSON_AddItemToObject(skyeye_content, "EndTime", cJSON_CreateNumber(log->EndTime));
-            cJSON_AddItemToObject(skyeye_content, "ClientIP", cJSON_CreateString(local_ip_str));
         }
         else{
             if (log->Level == LOG_LEVEL_DEBUG) {
@@ -299,11 +297,9 @@ int add_log(log_group_builder* bder, long start_time, uint32_t pack_index, log_i
                 cJSON_AddItemToObject(skyeye_content, "BeginTime", cJSON_CreateNumber(log->BeginTime));
                 cJSON_AddItemToObject(skyeye_content, "EndTime", cJSON_CreateNumber(log->EndTime));
             }
-            if (strlen(local_ip_str))
-                cJSON_AddItemToObject(skyeye_content, "ClientIP", cJSON_CreateString(local_ip_str));
         }
         cJSON_AddItemToObject(skyeye_content, "CostTime", cJSON_CreateNumber(log->CostTime));
-        cJSON_AddItemToObject(skyeye_content, "vtm_uuid", cJSON_CreateString(bder->grp->logs[bder->grp->n_logs].uuid));
+        cJSON_AddItemToObject(skyeye_content, "VtmUuid", cJSON_CreateString(bder->grp->logs[bder->grp->n_logs].uuid));
         cJSON_AddItemToObject(skyeye_content, "Version", cJSON_CreateString(bder->config->skyeyeVersion));
         cJSON_AddItemToObject(skyeye_content, "DateTime", cJSON_CreateString(nowTime));
         cJSON_AddItemToObject(skyeye_content, "ResultCode", cJSON_CreateString(log->ResultCode));
@@ -587,7 +583,7 @@ static uint32_t _log_pack(log_group_builder* bder, log_buf* buf)
     return totalBufferSize;
 }
 
-void add_log_terminal_sn(log_group_builder* bder, char* sn) {
+void add_log_terminal_sn_other(log_group_builder* bder, char* sn, char* clientIP) {
 
     int32_t totalBufferSize;
     build_item* grp_log;
@@ -614,6 +610,10 @@ void add_log_terminal_sn(log_group_builder* bder, char* sn) {
                         cJSON_AddItemToObject(content, "SN", cJSON_CreateString(sn));
                         changed = 1;
                     }
+                    if (!cJSON_HasObjectItem(content, "ClientIP")) {
+                        cJSON_AddItemToObject(content, "ClientIP", cJSON_CreateString(clientIP));
+                        changed = 1;
+                    }
                 }
             }
 

+ 1 - 1
Framework/RvcLogSdk/log_builder.h

@@ -85,7 +85,7 @@ extern int add_log_raw(log_group_builder* bder, build_item* log);
 extern int add_log_serialize_buf(log_group_builder* bder, serialize_buf* buffer);
 extern void add_log_terminal_no(log_group_builder* bder, char* no);
 extern void clear_errJson_msg(log_group_builder* bder);
-extern void add_log_terminal_sn(log_group_builder* bder, char* sn);
+extern void add_log_terminal_sn_other(log_group_builder* bder, char* sn, char *clientIP);//add other params, decrease create new functions
 extern build_item* log_group_get_last(log_group_builder* bder);
 extern void log_group_clear_last(log_group_builder* bder);
 extern lz4_log_buf* serialize_to_proto_buf_with_malloc_lz4(log_group_builder* bder);

+ 7 - 1
Framework/RvcLogSdk/log_producer_manager.c

@@ -147,7 +147,13 @@ void* log_producer_read_persistent_thread(void* param)
                         add_log_terminal_no(builder, config->skyeyeTerminalNo);
                     }
                     if (config->skyeyeSn != NULL) {
-                        add_log_terminal_sn(builder, config->skyeyeSn);
+                        static char local_ip_str[64] = "0.0.0.0";
+                        static long ipInit = 0;
+                        //get ip every 1000 times
+                        if (ipInit % 1000 == 0)
+                            GetLocalIP(local_ip_str);
+                        ipInit++;
+                        add_log_terminal_sn_other(builder, config->skyeyeSn, local_ip_str);
                     }
 
                     clear_errJson_msg(builder);

+ 1 - 13
Framework/RvcLogSdk/log_util.cpp

@@ -150,26 +150,15 @@ int GetLocalIP(char* ip_str)
 {
 	
 #ifdef _WIN32
-	static char exist_ip_str[32] = "";
 	struct hostent* ent;
-	char tmp[256];
+	char tmp[256] = "";
 	int i;
 
-	//set to 0.0.0.0 temperatorily, need to be fixed later
-	strcpy(ip_str, "0.0.0.0");
-	return 0;
-
-	if (strlen(exist_ip_str) != 0)
-	{
-		strcpy(ip_str, exist_ip_str);
-		return 0;
-	}
 	__try {
 		ent = gethostbyname(tmp);
 	}
 	__except (EXCEPTION_EXECUTE_HANDLER) {
 		strcpy(ip_str, "0.0.0.0");
-		strcpy(exist_ip_str, "0.0.0.0");
 		return -1;
 	}
 
@@ -179,7 +168,6 @@ int GetLocalIP(char* ip_str)
 				struct in_addr* in = (struct in_addr*)ent->h_addr_list[i];
 				char* p = inet_ntoa(*in);
 				if (p[0] != '0') {
-					strcpy(exist_ip_str, p);
 					strcpy(ip_str, p);
 					return 0;
 				}

+ 5 - 57
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -614,12 +614,12 @@ int CAccessAuthEntity::GetPinPadCapability()
 }
 
 void CAccessAuthEntity::printPasswdError(const string& strErrMsg){
-	//string strErrMsg = "密钥集丢失,请重新初始化密钥!";
 	SetAuthErrMsg(strErrMsg.c_str());
 	GetFunction()->SetSysVar("AuthErrMsg", strErrMsg.c_str(), true);
 	m_FSM.doWarnMsg( ERROR_ACCESSAUTH_OPENCRYPTCONTEXT, strErrMsg.c_str(),true, strErrMsg);
-	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA520C")("密钥集丢失(私钥为空)");
+	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA520C")(strErrMsg.c_str());
 }
+
 int Char2Int(char * ch) {
 	int num = 0;
 	for (int i = 0;i < strlen(ch);i++) {
@@ -660,7 +660,7 @@ bool CAccessAuthEntity::SaveAuthKey(BYTE *pKey)
 #endif // RVC_OS_WIN
 		if (strlen(privateKey) <= 0)
 		{
-			printPasswdError("密钥集丢失(私钥为空,请重置秘钥进行初始化");
+			printPasswdError("私钥为空,请重置秘钥进行初始化");
 			return false;
 		}
 	}
@@ -928,59 +928,6 @@ struct PublicKeyBlob
 };
 #endif // RVC_OS_WIN
 
-// 生成SM2密钥对,并导出公钥
-bool CAccessAuthEntity::GetTerminalPublicKey(BYTE* pBuf, int& nBufLen)
-{
-	CSimpleStringA runInfoPath, iniPath;
-	auto rc = GetFunction()->GetPath("runinfo", runInfoPath);
-	if (rc != Error_Succeed) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")
-			("GetPath runinfo error=%d.", rc);
-		return false;
-	}
-
-	char publicKey[BUF_SIZE] = { 0 };
-#ifdef RVC_OS_WIN
-	iniPath = runInfoPath + "\\runcfg\\AccessAuthorization.ini";
-	GetPrivateProfileString("TerminalPD", "PublicKey", "", publicKey, BUF_SIZE, iniPath.GetData());
-#else
-	iniPath = runInfoPath + SPLIT_SLASH_STR "runcfg" SPLIT_SLASH_STR "AccessAuthorization.ini";
-	char* tmp = inifile_read_str(iniPath.GetData(), "TerminalPD", "PublicKey", "");
-	strcpy(publicKey, tmp);
-	delete tmp;
-#endif // RVC_OS_WIN
-	if (strlen(publicKey) <= 0) {
-#ifdef RVC_OS_WIN
-		iniPath = runInfoPath + "\\runcfg\\Initializer.ini";
-		GetPrivateProfileString("TerminalPD", "PublicKey", "", publicKey, BUF_SIZE, iniPath.GetData());
-#else
-		iniPath = runInfoPath + SPLIT_SLASH_STR "runcfg" SPLIT_SLASH_STR "Initializer.ini";
-		char* tmp2 = inifile_read_str(iniPath.GetData(), "TerminalPD", "PublicKey", "");
-		strcpy(publicKey, tmp2);
-		delete tmp2;
-#endif // RVC_OS_WIN
-
-		if (strlen(publicKey) <= 0)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")("读取公钥失败,公钥长度小于等于零!");
-			if (!ExistsFileA(iniPath))
-				printPasswdError("密钥集丢失(公钥为空),请重置秘钥进行初始化");
-			return false;
-		}
-	}
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")("publickey=%s,%d", publicKey, strlen(publicKey));
-
-#ifdef RVC_OS_WIN
-	char* pDecodedPublickey = MyBase64::Hex2Str(publicKey, nBufLen);
-#else
-	char* pDecodedPublickey = Hex2Str(publicKey, nBufLen);
-#endif // RVC_OS_WIN
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")("pDecodedPublickey len=%d", nBufLen);
-	memcpy(pBuf, pDecodedPublickey, nBufLen);
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")("pBuf[0]=%02X,nBufLen=%d", pBuf[0], nBufLen);
-	delete[] pDecodedPublickey;
-	return true;
-}
 // 生成RSA密钥对,并导出公钥
 bool CAccessAuthEntity::GetTerminalPublicKey(BYTE* pBuf, int& nBufLen, string& pubkey)
 {
@@ -1069,7 +1016,8 @@ bool CAccessAuthEntity::GetTerminalPublicKey(BYTE* pBuf, int& nBufLen, string& p
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetTerminalPublicKey")("encode pri key success.");
 
 	m_privateKey = pEncodedCryptPrivateKey;
-	/*rc = pConfig->WriteConfigValue("TerminalPD", "PrivateKey", pEncodedCryptPrivateKey);
+	/*//不在这里写入私钥,将逻辑修改到函数外部,等服务端返回成功后再写入私钥
+	rc = pConfig->WriteConfigValue("TerminalPD", "PrivateKey", pEncodedCryptPrivateKey);
 	if (rc != Error_Succeed) {
 		rc = pConfig->WriteConfigValue("TerminalPD", "PublicKey", "");
 		delete[] pEncodedCryptPrivateKey;

+ 0 - 1
Module/mod_accessauth/mod_AccessAuth.h

@@ -143,7 +143,6 @@ public:
 	ErrorCodeEnum EncryptDataWithSessionKey(const CBlob& raw, CBlob& enc);
 
 	bool GetTerminalFingerPrint(BYTE* pBuf, int& nBufLen);
-	bool GetTerminalPublicKey(BYTE* pBuf, int& nBufLen);
 	bool GetTerminalPublicKey(BYTE* pBuf, int& nBufLen, string& pubkey);
 
 	void SetAuthErrMsg(const char* pszErrMsg) { m_strAuthErrMsg = pszErrMsg; }

+ 10 - 9
addin/res/ManagerDesktop/js/entityCheck.js

@@ -1,6 +1,6 @@
-let retest =['N']
+let retest =['N','N']
 let Len = 2
-let resultY = ['Y']
+let resultY = ['Y','Y']
 
 let set_retest = function(val,event){
 	retest = val
@@ -10,7 +10,7 @@ let set_retest = function(val,event){
 }
 
 let test = function(){
-  if(retest.join('') !== resultY.join('')){
+  if(retest.join('') == resultY.join('')){
     $('#retestBtn').attr('disabled',false)
     $('#retestBtn').html('重新检测')
   }
@@ -52,7 +52,7 @@ function getBizLinks(){
   req.filter = 1;
   req.timeout = 60000;
 	let timeoutFn= setTimeout(function(){
-    retest[1] = 'Y'
+    retest[2] = 'Y'
     set_retest(retest,test)
 
     retest.push('N')
@@ -75,8 +75,7 @@ function getBizLinks(){
 
 	ResourceWatcherService.GetBizLinks(req, function(res) {
 		logEvent("GetBizLinks ret: "+JSON.stringify(res));
-    console.info("GetBizLinks ret1: "+JSON.stringify(res));
-    console.info("GetBizLinks ret2: "+res.bizLinks);
+    console.log("GetBizLinks ret: "+JSON.stringify(res));
 
 		if(res){
 			clearTimeout(timeoutFn);
@@ -182,9 +181,9 @@ function getBizLinkDetect(url,urlTitle,idx){
     let elem = document.querySelector('.bizLinkDetect'+idx+' .icon-type');
 		elem&&elem.classList.add('icon-err')
     $('.bizLinkDetect'+idx+' p').html('「'+dateTime+'」'+urlTitle+'检测失败')
-    retest[1+idx] = 'Y'
+    retest[2+idx] = 'Y'
     set_retest(retest,test)
-    testResult[1+idx] = 'N'
+    testResult[2+idx] = 'N'
     set_testResult(testResult,goBusiHome)
 	},60000)
 
@@ -192,7 +191,7 @@ function getBizLinkDetect(url,urlTitle,idx){
 		logEvent("BizLinkDetect ret: "+JSON.stringify(res));
 		if(res){
 			clearTimeout(timeoutFn);
-      retest[1+idx] = 'Y'
+      retest[2+idx] = 'Y'
       set_retest(retest,test)
 
       $('.bizLinkDetect'+idx).fadeIn();
@@ -224,6 +223,8 @@ function getBizLinkDetect(url,urlTitle,idx){
 }
 // 网卡连接-删除后,检测按钮异常,临时方案
 function getNetCardLink(){
+  retest[1] = 'Y'
+  set_retest(retest,test)
   testResult[1] = 'Y'
   set_testResult(testResult,goBusiHome)
 }