陈纪林80310970 пре 10 месеци
родитељ
комит
5e482d050e

+ 4 - 4
DevAdapter/simulator/cardissuer.1.1/cardissuer_httpans.h

@@ -45,7 +45,7 @@ typedef struct MagTracksAns {
 typedef struct CmdInfoAns {
 
 	int dwSize;
-	BYTE data[MAX_IC_BUFFER_SIZE];
+	std::string data;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
 }CmdInfoAns;
@@ -67,11 +67,11 @@ typedef struct DevOpenExAns {
 typedef struct TransferEnInitAns {
 
 	int iStatus;
-	BYTE Cr1[256];
+	std::string Cr1;
 	int lenR1;
-	BYTE Cr3[256];
+	std::string Cr3;
 	int lenR3;
-	BYTE dKey[256];
+	std::string dKey;
 	int lenKey;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)

+ 27 - 7
DevAdapter/simulator/cardissuer.1.1/cardissuer_impl.cpp

@@ -283,9 +283,14 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "ICCommand", ans);
 	LOG4VTM(INFO, "ICCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -329,9 +334,14 @@ ErrorCodeEnum CardIssuerImpl::SAMCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "SAMCommand", ans);
 	LOG4VTM(INFO, "SAMCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -371,9 +381,14 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCardATR(CmdInfo& atrBuf)
 	err = SimulatorHttpFunction(EntityName, "ActiveICCardATR", ans);
 	LOG4VTM(INFO, "ActiveICCardATR err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		atrBuf.dwSize = ans.dwSize;
-		memcpy(atrBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(atrBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -422,9 +437,14 @@ ErrorCodeEnum CardIssuerImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "RFTypeABCommand", ans);
 	LOG4VTM(INFO, "RFTypeABCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -459,9 +479,9 @@ ErrorCodeEnum CardIssuerImpl::TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR
 		lenR3 = ans.lenR3;
 		lenKey = ans.lenKey;
 
-		memcpy(Cr1, ans.Cr1, 256);
-		memcpy(Cr3, ans.Cr3, 256);
-		memcpy(dKey, ans.dKey, 256);
+		memcpy(Cr1, ans.Cr1.c_str(), 256);
+		memcpy(Cr3, ans.Cr3.c_str(), 256);
+		memcpy(dKey, ans.dKey.c_str(), 256);
 	}
 
 	return err;

+ 4 - 4
DevAdapter/simulator/cardissuerstand.1.1/cardissuer_httpans.h

@@ -45,7 +45,7 @@ typedef struct MagTracksAns {
 typedef struct CmdInfoAns {
 	
 	int dwSize;
-	BYTE data[MAX_IC_BUFFER_SIZE];
+	std::string data;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
 }CmdInfoAns;
@@ -67,11 +67,11 @@ typedef struct DevOpenExAns {
 typedef struct TransferEnInitAns {
 	
 	int iStatus;
-	BYTE Cr1[256];
+	std::string Cr1;
 	int lenR1;
-	BYTE Cr3[256];
+	std::string Cr3;
 	int lenR3;
-	BYTE dKey[256];
+	std::string dKey;
 	int lenKey;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)

+ 26 - 10
DevAdapter/simulator/cardissuerstand.1.1/cardissuer_impl.cpp

@@ -283,11 +283,15 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "ICCommand", ans);
 	LOG4VTM(INFO, "ICCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
-
 	return err;
 }
 
@@ -326,12 +330,14 @@ ErrorCodeEnum CardIssuerImpl::SAMCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	ErrorCodeEnum err = Error_Succeed;
 	CmdInfoAns ans;
 
-	err = SimulatorHttpFunction(EntityName, "SAMCommand", ans);
-	LOG4VTM(INFO, "SAMCommand err = " << err);
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
 
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -371,9 +377,14 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCardATR(CmdInfo& atrBuf)
 	err = SimulatorHttpFunction(EntityName, "ActiveICCardATR", ans);
 	LOG4VTM(INFO, "ActiveICCardATR err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		atrBuf.dwSize = ans.dwSize;
-		memcpy(atrBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(atrBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -422,9 +433,14 @@ ErrorCodeEnum CardIssuerImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "RFTypeABCommand", ans);
 	LOG4VTM(INFO, "RFTypeABCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -459,9 +475,9 @@ ErrorCodeEnum CardIssuerImpl::TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR
 		lenR3 = ans.lenR3;
 		lenKey = ans.lenKey;
 
-		memcpy(Cr1, ans.Cr1, 256);
-		memcpy(Cr3, ans.Cr3, 256);
-		memcpy(dKey, ans.dKey, 256);
+		memcpy(Cr1, ans.Cr1.c_str(), 256);
+		memcpy(Cr3, ans.Cr3.c_str(), 256);
+		memcpy(dKey, ans.dKey.c_str(), 256);
 	}
 
 	return err;

+ 4 - 4
DevAdapter/simulator/cardissuerstore.1.1/cardissuer_httpans.h

@@ -45,7 +45,7 @@ typedef struct MagTracksAns {
 typedef struct CmdInfoAns {
 	
 	int dwSize;
-	PBYTE data = new BYTE[MAX_IC_BUFFER_SIZE];
+	std::string data;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(dwSize, data)
 }CmdInfoAns;
@@ -67,11 +67,11 @@ typedef struct DevOpenExAns {
 typedef struct TransferEnInitAns {
 	
 	int iStatus;
-	PBYTE Cr1 = new BYTE[256];
+	std::string Cr1;
 	int lenR1;
-	PBYTE Cr3 = new BYTE[256];
+	std::string Cr3;
 	int lenR3;
-	PBYTE dKey = new BYTE[256];
+	std::string dKey;
 	int lenKey;
 
 	JSONCONVERT2OBJECT_MEMEBER_REGISTER(iStatus, Cr1, lenR1, Cr3, lenR3, dKey, lenKey)

+ 28 - 16
DevAdapter/simulator/cardissuerstore.1.1/cardissuer_impl.cpp

@@ -279,24 +279,21 @@ ErrorCodeEnum CardIssuerImpl::ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 {
 	ErrorCodeEnum err = Error_Succeed;
 	CmdInfoAns ans;
-	memset(ans.data, 0, MAX_IC_BUFFER_SIZE);
 
 	err = SimulatorHttpFunction(EntityName, "ICCommand", ans);
 	LOG4VTM(INFO, "ICCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 	
-	//DEBUG
-	LPBYTE buf = new BYTE[1024];
-	memcpy(buf, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
-	char* show = new char[1024];
-	int lenRecv = recvBuf.dwSize;
-	HexBuf2StrBuf(buf,&show,lenRecv);
-	//DbgInfo(CSimpleStringA::Format("<BuildSupportedAppList>, [%s]", show));
-	LOG4VTM(INFO, "<SimulaTrans> [" << show << "]");
+	LOG4VTM(INFO, "<SimulaTrans> [" << ans.data.c_str() << "]");
 
 	return err;
 }
@@ -339,9 +336,14 @@ ErrorCodeEnum CardIssuerImpl::SAMCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "SAMCommand", ans);
 	LOG4VTM(INFO, "SAMCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -381,9 +383,14 @@ ErrorCodeEnum CardIssuerImpl::ActiveICCardATR(CmdInfo& atrBuf)
 	err = SimulatorHttpFunction(EntityName, "ActiveICCardATR", ans);
 	LOG4VTM(INFO, "ActiveICCardATR err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		atrBuf.dwSize = ans.dwSize;
-		memcpy(atrBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(atrBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -432,9 +439,14 @@ ErrorCodeEnum CardIssuerImpl::RFTypeABCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
 	err = SimulatorHttpFunction(EntityName, "RFTypeABCommand", ans);
 	LOG4VTM(INFO, "RFTypeABCommand err = " << err);
 
+	//将字符串转换成字节流数据
+	PBYTE buf = new BYTE[1024];
+	char* show = new char[1024];
+	StrBuf2HexBuf(ans.data.c_str(), &buf);
+
 	if (err == Error_Succeed) {
 		recvBuf.dwSize = ans.dwSize;
-		memcpy(recvBuf.data, ans.data, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
+		memcpy(recvBuf.data, buf, sizeof(BYTE) * MAX_IC_BUFFER_SIZE);
 	}
 
 	return err;
@@ -469,9 +481,9 @@ ErrorCodeEnum CardIssuerImpl::TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR
 		lenR3 = ans.lenR3;
 		lenKey = ans.lenKey;
 
-		memcpy(Cr1, ans.Cr1, 256);
-		memcpy(Cr3, ans.Cr3, 256);
-		memcpy(dKey, ans.dKey, 256);
+		memcpy(Cr1, ans.Cr1.c_str(), 256);
+		memcpy(Cr3, ans.Cr3.c_str(), 256);
+		memcpy(dKey, ans.dKey.c_str(), 256);
 	}
 
 	return err;

+ 4 - 6
DevAdapter/simulator/deps/libSimulaRestful/JsonConvertHelper.hpp

@@ -259,20 +259,18 @@ static bool Object2Json(Json::Value& jsonTypeValue, const std::string& key, cons
     return true;
 }
 
-static bool Json2Object(PBYTE aimObj, const Json::Value& jsonTypeValue)
+static bool Json2Object(BYTE* aimObj, const Json::Value& jsonTypeValue)
 {
+    PBYTE pData = aimObj;
     if (jsonTypeValue.isNull()) {
+        pData = NULL;
         return true;
     }
     if (jsonTypeValue.isNull() || !jsonTypeValue.isString()) {
         return false;
     }
     else {
-        int len = StrBuf2HexBuf(jsonTypeValue.asString().c_str(), &aimObj);
-        if (len == 0)
-        {
-            return false;
-        }
+        StrBuf2HexBuf(jsonTypeValue.asString().c_str(), &pData);
         return true;
     }
 }