Browse Source

Z991239-4925 #comment feat: 更新密钥优化接口

陈纪林80310970 2 years ago
parent
commit
94fd0cd700

+ 1 - 1
Module/mod_accessauth/AccessAuthFSM.cpp

@@ -324,7 +324,7 @@ struct UpdateWKTask : ITaskSp
 			errRc = (*pPinPad)(EntityResource::getLink().upgradeLink())->GetCheckCode(req, ans, 10000);
 			if (errRc == Error_Succeed)
 			{
-				updateWKReq.keyCheck = ans.checkcode[0].GetData();
+				updateWKReq.tpkKeyCheck = ans.checkcode[0].GetData();
 				updateWKReq.keyIndex = ans.index[0].GetData();
 				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("UpdateWKTask")("Get keyChek && keyIndex suc.");
 			}

+ 25 - 12
Module/mod_accessauth/AccessAuthFSM.h

@@ -67,13 +67,15 @@ typedef struct CSessionkeySynRet : CHTTPRet {
 typedef struct CAccessAuthUpdateWKReq : CHTTPReq {
 	string terminalNo;
 	string encRandom;
-	string keyCheck; //密钥校验值
+	string tpkKeyCheck; //tpk密钥校验值
+	string edkKeyCheck; //edk密钥校验值
 	string keyIndex; //密钥序号
 	string ToJson() {
 		Json::Value value;
 		value[REFLECTION(terminalNo)] = terminalNo;
 		value[REFLECTION(encRandom)] = encRandom;
-		value[REFLECTION(keyCheck)] = keyCheck;
+		value[REFLECTION(tpkKeyCheck)] = tpkKeyCheck;
+		value[REFLECTION(edkKeyCheck)] = edkKeyCheck;
 		value[REFLECTION(keyIndex)] = keyIndex;
 		Json::FastWriter writer;
 		string strData = writer.write(value);
@@ -87,7 +89,8 @@ typedef struct CAccessAuthUpdateWKReq : CHTTPReq {
 typedef struct CAccessAuthUpdateWKRet : CHTTPRet {
 	string tpk;
 	string edk;
-	string keyCheck; //密钥校验值
+	string tpkKeyCheck; //密钥校验值
+	string edkKeyCheck; //edk密钥校验值
 	string keyIndex; //密钥序号
 
 	bool Parse(string strData) {
@@ -97,7 +100,8 @@ typedef struct CAccessAuthUpdateWKRet : CHTTPRet {
 
 		tpk = root["data"][REFLECTION(tpk)].asString();
 		edk = root["data"][REFLECTION(edk)].asString();
-		keyCheck = root["data"][REFLECTION(keyCheck)].asString();
+		tpkKeyCheck = root["data"][REFLECTION(tpkKeyCheck)].asString();
+		edkKeyCheck = root["data"][REFLECTION(edkKeyCheck)].asString();
 		keyIndex = root["data"][REFLECTION(keyIndex)].asString();
 
 		return true;
@@ -243,7 +247,8 @@ typedef struct CInitlizerMKReq : CHTTPReq {
 	string auth;//预留鉴权
 	int loginWay;//1表示错误页发起,需要传入登录密码;0表示用户桌面发起,不需要传入登录密码
 	string encRandom; //tmk pk加密的随机密钥
-	string keyCheck; //密钥校验值
+	string tpkKeyCheck; //密钥校验值
+	string edkKeyCheck; //密钥校验值
 	string keyIndex; //密钥序号
 
 	string ToJson() {
@@ -270,10 +275,11 @@ typedef struct CInitlizerMKReq : CHTTPReq {
 		value[REFLECTION(auth)] = auth;
 		value[REFLECTION(loginWay)] = loginWay;
 		value[REFLECTION(encRandom)] = encRandom;
+		value[REFLECTION(tpkKeyCheck)] = tpkKeyCheck;
+		value[REFLECTION(edkKeyCheck)] = edkKeyCheck;
+		value[REFLECTION(keyIndex)] = keyIndex;
 		Json::FastWriter writer;
 		string strData = writer.write(value);
-		value[REFLECTION(keyCheck)] = keyCheck;
-		value[REFLECTION(keyIndex)] = keyIndex;
 
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("CInitlizerMKReq")("CInitlizerMKReq:%s", strData.c_str());
 
@@ -301,7 +307,8 @@ typedef struct CInitlizerMKReq : CHTTPReq {
 		rvcJson.AddStringToObject(REFLECTION(auth), (char*)auth.c_str());
 		rvcJson.AddNumberToObject(REFLECTION(loginWay), loginWay);
 		rvcJson.AddStringToObject(REFLECTION(encRandom), (char*)encRandom.c_str());
-		rvcJson.AddStringToObject(REFLECTION(keyCheck), (char*)keyCheck.c_str());
+		rvcJson.AddStringToObject(REFLECTION(tpkKeyCheck), (char*)tpkKeyCheck.c_str());
+		rvcJson.AddStringToObject(REFLECTION(edkKeyCheck), (char*)edkKeyCheck.c_str());;
 		rvcJson.AddStringToObject(REFLECTION(keyIndex), (char*)keyIndex.c_str());
 		string ret;
 		char* tmp = rvcJson.GetJsonStr();
@@ -318,7 +325,8 @@ typedef struct CInitlizerMKRet : CHTTPRet {
 #ifdef RVC_OS_WIN
 	string tpk;
 	string edk;
-	string keyCheck;
+	string tpkKeyCheck;
+	string edkKeyCheck;
 	string keyIndex;
 
 	bool Parse(string strData) {
@@ -329,7 +337,8 @@ typedef struct CInitlizerMKRet : CHTTPRet {
 		reader.parse(strData, root, false);
 		tpk = root["data"][REFLECTION(tpk)].asString();
 		edk = root["data"][REFLECTION(edk)].asString();
-		keyCheck = root["data"][REFLECTION(keyCheck)].asString();
+		tpkKeyCheck = root["data"][REFLECTION(tpkKeyCheck)].asString();
+		edkKeyCheck = root["data"][REFLECTION(edkKeyCheck)].asString();
 		keyIndex = root["data"][REFLECTION(keyIndex)].asString();
 		return true;
 	}
@@ -338,7 +347,9 @@ typedef struct CInitlizerMKRet : CHTTPRet {
 		string TMK;
 		string TPK;
 		string EDK;
-		string index;
+		string tpkKeyCheck;
+		string edkKeyCheck;
+		string keyIndex;
 		string reserved;
 	} data;
 	bool Parse(string strData) {
@@ -350,7 +361,9 @@ typedef struct CInitlizerMKRet : CHTTPRet {
 		data.TMK = retJson->GetStringValue(REFLECTION(tmk));
 		data.TPK = retJson->GetStringValue(REFLECTION(tpk));
 		data.EDK = retJson->GetStringValue(REFLECTION(edk));
-		data.index = retJson->GetStringValue(REFLECTION(index));
+		data.tpkKeyCheck = retJson->GetStringValue(REFLECTION(tpkKeyCheck));
+		data.edkKeyCheck = retJson->GetStringValue(REFLECTION(edkKeyCheck));
+		data.keyIndex = retJson->GetStringValue(REFLECTION(keyIndex));
 		rvcJson.Destory();
 		retJson->Destory();
 		delete retJson;

+ 1 - 1
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -1611,7 +1611,7 @@ bool CAccessAuthEntity::SendInitMKReqACS(CInitlizerMKReq& initMKReq)
 		errRc = (*pPinPad)(EntityResource::getLink().upgradeLink())->GetCheckCode(req, ans, 10000);
 		if (errRc == Error_Succeed)
 		{
-			initMKReq.keyCheck = ans.checkcode[0].GetData();
+			initMKReq.tpkKeyCheck = ans.checkcode[0].GetData();
 			initMKReq.keyIndex = ans.index[0].GetData();
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("SendInitMKReqACS")("Get keyChek && keyIndex suc.");
 		}