Commit eeb33faa by LIDINGDA\ldd

1.3DES加密;2.RSA签名测试通过;签名时只取一级字段中的string和number

parent a5227c7f
No preview for this file type
......@@ -10,6 +10,7 @@
#include <openssl/pem.h>
#include <openssl/err.h>
#include <openssl/des.h>
#include "fmlog.h"
#include <jansson.h>
#include <jansson_private.h>
......@@ -465,6 +466,9 @@ public:
else if(json_is_array(value))
{
continue;
}else
{
continue;
}
outmsg.append(tmp);
outmsg.append("|");
......
......@@ -2,18 +2,25 @@
#define FM_ERROR_H
//#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL配置文件错误或不存在\"}"
#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF\u6216\u4E0D\u5B58\u5728\"}"
//#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF\u6216\u4E0D\u5B58\u5728\"}"
#define ERROR_CLIENT_CFG "{\"statusCode\": 301, \"message\": \"DLL\351\205\215\347\275\256\346\226\207\344\273\266\351\224\231\350\257\257\346\210\226\344\270\215\345\255\230\345\234\250\"}"
//#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"输入参数非json或为空\"}"
#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\u8F93\u5165\u53C2\u6570\u975Ejson\u6216\u4E3A\u7A7A\"}"
//#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\u8F93\u5165\u53C2\u6570\u975Ejson\u6216\u4E3A\u7A7A\"}"
#define ERROR_INDATA "{\"statusCode\": 302, \"message\": \"\350\276\223\345\205\245\345\217\202\346\225\260\351\235\236json\346\210\226\344\270\272\347\251\272\"}"
//#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"服务端返回数据异常\"}"
#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\u670D\u52A1\u7AEF\u8FD4\u56DE\u6570\u636E\u5F02\u5E38\"}"
//#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\u670D\u52A1\u7AEF\u8FD4\u56DE\u6570\u636E\u5F02\u5E38\"}"
#define ERROR_OUTDATA "{\"statusCode\": 303, \"message\": \"\346\234\215\345\212\241\347\253\257\350\277\224\345\233\236\346\225\260\346\215\256\345\274\202\345\270\270\"}"
//#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"网络异常冲正中无法进行交易\"}"
#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u51B2\u6B63\u4E2D\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
//#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u51B2\u6B63\u4E2D\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
#define ERROR_ROLLBACK "{\"statusCode\": 304, \"message\": \"\347\275\221\347\273\234\345\274\202\345\270\270\345\206\262\346\255\243\344\270\255\346\227\240\346\263\225\350\277\233\350\241\214\344\272\244\346\230\223\"}"
//#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"签名异常请联系IT\"}"
#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\u7B7E\u540D\u5F02\u5E38\u8BF7\u8054\u7CFBIT\"}"
//#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\u7B7E\u540D\u5F02\u5E38\u8BF7\u8054\u7CFBIT\"}"
#define ERROR_SIGN "{\"statusCode\": 305, \"message\": \"\347\255\276\345\220\215\345\274\202\345\270\270\350\257\267\350\201\224\347\263\273\"}"
//#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"网络异常连接支付网关失败\"}"
#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u8FDE\u63A5\u652F\u4ED8\u7F51\u5173\u5931\u8D25\"}"
//#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\u7F51\u7EDC\u5F02\u5E38\u8FDE\u63A5\u652F\u4ED8\u7F51\u5173\u5931\u8D25\"}"
#define ERROR_NETWORK "{\"statusCode\": 306, \"message\": \"\347\275\221\347\273\234\345\274\202\345\270\270\350\277\236\346\216\245\346\224\257\344\273\230\347\275\221\345\205\263\345\244\261\350\264\245\"}"
//#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"证书加载失败无法进行交易\"}"
#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\u8BC1\u4E66\u52A0\u8F7D\u5931\u8D25\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
//#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\u8BC1\u4E66\u52A0\u8F7D\u5931\u8D25\u65E0\u6CD5\u8FDB\u884C\u4EA4\u6613\"}"
#define ERROR_CRET "{\"statusCode\": 307, \"message\": \"\350\257\201\344\271\246\345\212\240\350\275\275\345\244\261\350\264\245\346\227\240\346\263\225\350\277\233\350\241\214\344\272\244\346\230\223\"}"
#endif
\ No newline at end of file
......@@ -9,8 +9,9 @@
#define MAX_SIGN_LEN 256
#define CFG_FILE_NAME "fmclient.cfg"
#define RBG_FILE_NAME "fmclient.rbk"
#define REQUEST_CRET "{\r\n \"ver\": 1,\r\n \"reqType\": 99,\r\n \"partnerId\":1443,\r\n \"storeId\":\"%s\",\r\n \"stationId\": \"%s\",\r\n \"serverPublicKey\": \"%s\",\r\n \"clientPrivateKey\": \"%s\"\r\n}"
#define DES3_KEY "123456789987654321123456"
#define REQUEST_CRET "{\r\n \"ver\": 1,\r\n \"reqType\": 99,\r\n \"partnerId\":%d,\r\n \"storeId\":\"%s\",\r\n \"stationId\": \"%s\"\r\n}"
#define DES3_KEY "ABCD@#9876DFSAAWKLDEOPDD"
#define CRET_FILE_NAME "client.p12"
#define JSON_KEY_ONLY "partnerOrderId"
#endif
\ No newline at end of file
......@@ -4,15 +4,15 @@
using namespace std;
char text[] = "1443|72|1|12344|1";
char texts[] = "1443|72|1|12344|1";
char text[] = "207|1";
char texts[] = "207|1";
unsigned char deskey[] = "123456789012345678901235";
char sign[256] = {0};
char out [1024] = {0};
char private_key[] = "MIICXQIBAAKBgQDK1JuEwMaEetLryK/PxhEd9QdMWllr/MAVNhV4CMboIjQzYg40ZdIU8qp0kaS/Oe06Th8YWi+wPW+vOSSd3J7kq2r23MMULStSyrK/GAyi7tvvpkNmoP2+s9NPoUjzNGqZTVQ3AqktkgTUiQgO5elqnkfXpz7J6OHm1/m0VjOvpwIDAQABAoGAAdQ+/sh6QdGVu1iY9Ue0+c8u3Kpn6ghidw6AzQ9PM+KzE8+Ljz9n0JaLoPd7Q9oy4Ha54w9VJMK5EhxyzxWhPSyNr/pvxXwMZL22NfdS/Xlj5L1zzR3JGybc7qxMk4rBX+/aT5YbNG5m4yN3pZldMjJPFzVtv6q4PYnq/DBNjgECQQDsq5NoLXbVBo+Ba4nVrV1yPKNqrLwWkpGONrmkXh3KljNOIBoODKoRt0IfA/fym0t4qDu3e0qNBj44MlxpxmqnAkEA22V+QgM9QonIAWTNgFVlYE6sPtHDaPf7WLBHfCjYTUbjFTAGQBKI3phGdPAipB/2pNlty9RZeHyvDZNRTSIzAQJAY56tA5LvjCegzDc544l/5hAEMWjYGyBCyHvclIVRQO8MVXxJu1Q1WhOrb2a6PZKEqBsYV9k7vjS8h+ca4yMzzQJBAI5u9qf+mF/BOWKGQc/mINmEWdiyr81O6ROr5czaa4rH0ZcoxXYFUmxIqb0zRRoOUj61lc11f9xz/eWvVWHhKQECQQCyEFGJtqqtZZyVNmpWYtCJqVlGD7I2dD5oCmQehYLs3XtwbMsqlxPkSbN9zyYGjiPtg0xevqazN32+hXAO3mmG";
char public_key[] = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK1JuEwMaEetLryK/PxhEd9QdMWllr/MAVNhV4CMboIjQzYg40ZdIU8qp0kaS/Oe06Th8YWi+wPW+vOSSd3J7kq2r23MMULStSyrK/GAyi7tvvpkNmoP2+s9NPoUjzNGqZTVQ3AqktkgTUiQgO5elqnkfXpz7J6OHm1/m0VjOvpwIDAQAB";
char private_key[] = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALNT2Oh4Yw2ijcEt+rqKAfnsRUqXlqOOFWcBLZw9SZHXbIOjOBgWXmEh2fa5fbP/yJwHfBXPVK4k0lFrXQuEFlcxI2YdAatLsT2BWOGAhJ15KRvN9uJseNXDRqFBjMJQGr4hbmtohowBdzgLU8ztUeO++4SAcqsnCapEsNi/jwbjAgMBAAECgYBV+J2lnYmHUOX6tgtdAKq/4Wi6wP/D+2sBTcxK+graM1ffqBFNYvPuRydSpEzCTZ8kRmZTomkrb5Ww2PLrgXCfn8CEuu+Gs0qOmIKSJrQqxCjAV5LceqlSNRMbUOlfF0iXtaNS1SFYgTROP+TEOpo6uQCr0wosraJ7XSbkN01Z4QJBAO+uVE6PUlFX3wKHcJv8+gVd3MtB2b74isxAGJt26X811mMr9k2d3p9z/KteZnk6ih0nqrTsNUjcrVeZGxt7WlECQQC/iYyuh3QlBqC0eI7TcvzfjeeGBpo6a9vfbTHQ6dcEotmYtJsvU3/ryaFm08GiT4s131D6LBPh4bm7rGWZ1IzzAkBuvkTT+6LUVN6E46GjYXMAUcs32xhKBbrT/vWft4TRs0V4kxJ98Gixkjz3zWlZsDOqnu5gJBfGr7gkFmkQ/KDRAkBPABXVeqsOBoDMTxlh34CrWGVRI3IDfK9QpUIxz/FOyTiEwqFrUL5na1+2AMtR/gsGKljFBt8ggLDR1paFb2S/AkEAoO0Zg2qya2j+ho9/aY6eHCFBE3XNukUZZRO4P7wSEPRECqQ1DhT1r8QsXo6nuXlOf6JHO6gXV2j5XDg4UhcpRA==";
char public_key[] = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzU9joeGMNoo3BLfq6igH57EVKl5ajjhVnAS2cPUmR12yDozgYFl5hIdn2uX2z/8icB3wVz1SuJNJRa10LhBZXMSNmHQGrS7E9gVjhgISdeSkbzfbibHjVw0ahQYzCUBq+IW5raIaMAXc4C1PM7VHjvvuEgHKrJwmqRLDYv48G4wIDAQAB";
RSA * createRSA(unsigned char * key,int publictype)
{
......@@ -74,13 +74,15 @@ void Test_3DES()
{
char tmpout[1024] = {0};
char outs[MAX_BUF_LEN]= {0};
char tmps[] = "gEYXfUox9kFVFu6I3os8LMULhYn85Ou8R4ye05OZmNb2yb71t18S7BILEi1DZQLPzV6F7UQVsWu+FCvkEssVBS8ZElcrKoaq91aovWZOb17itgpCbvsoE0tvfH2OPC+uNDEjW6iX5WoEFQ3aNJ3OOLyapa0tGrir7Gn/BlAoBkeP5OPP/9Yet4uXbJvwZTTpnkS7YLDqbqCvaaobm6u/LagIOsUGud6V4wDG/OwywymyZl0QXY2bUIQF4OHkIvbgr/LYkYS4zU5X5W5WFlH8xwmjhlMTpvlz8L29tPpJi/BkZ5IPriU9js1o+g73zboYkdTJDKZgewSewDFsH++L2GVaoawECajkwCkI1+Hrob/gKJ3FSJgHBvCHpR6+QUhLe2LMV4VsaikxgrRXZnaFXi52xiFHj2bfys2C2y0ybZZiEqJO3aKn8PSXFZCx+PMw3aGBfqJDWGG4RJysfNg7XAwEaKh8UzIQfJxL8ISKePvYvB8QdMJPUzcEqDEn0m6NVS85x3Wi9Go3ttUvhNHXkOISGv2DlWxzfi7dezzA/EP68nOg7RbmtcWWy/KYl/3DPDdmjTWGz80/R6kzlBh1l0KEr8IuCEamt9TSYv3NkDbSYYTbNvKyH7ubElctD9MoKOCavJ2xGW+Evc2BQ0ld1FgqvFzmN9lHxuCOW5bCylU+Hc51Tcvwve5kFZfIU28o0zhACsQlkSXzWf1Px5ThXxCBz0ZDlC7Y2EAPkzfFzFo8c98/w26dvqoLFi0u2VhGFm/iWfe8i+7xXMPJeaZD/2MRY2PXcG4Ym4f8KRQ3uQKdc+cunaLloiUDDrX5aGqJXp7CjlmtuDu8ZSPjQhaBc27KdseUkZ8cPb/LGNoAtEyvkMzoj5/Z65gw+wpivMoFJ+2xot/zg26kvEfwtq99szaZhDIt9EVXzoZ86j2UiKio+zI6A6Ft8++K39XrljZX3+6jIDGfwymcO+v40Vk/icWKueXrmcdb1b/+tcXCVXV1a1Qxt3SRPF8CcjKRSJHI0KsrGQXDdPUjT8I0G3z3yVvRUGBRBtIaJlvLofX/NTGNw7DImwfzdyaKpYx21sxbE/sxESSiQxUn84Pn/Qn1h/mM4K3QNb/sVoCkQhxHs4bRGAQ6HUAR1w6WjtY1N6W1Lsra4RZ0NGyx7Hu/YulIvbYoSEFvH+mlShZ0YFCkx+A9+TpZq+qjXnI/2uzkLwY+iwFmWECn2v2Ev4ITwUZaSnymHgQ4rB+xVfRCKDOiZeknP1yx25TFLnTyxSa/hhaD7NF60xnRkJVBo22dEED1wPvhTiVo3oGYnYSUftTTb6Si4wh35oGlW6DGJUMRAAmmorHgotgodTc9DSF4BAR6Ibqo+QZnnOBnGUUv/f0vm2kUj3gphNr6mlfYz38u2zCH6wMjqJWb/Qb0WT1hS7vFea2yHgiCHlFuBLQtZdnQMomFzqweZnZE65gamJ4hZwBrrTgo+vEC6TIWuA6d4Ev7IUDKNsv5VTAcpO14RVDiMmG3FwUYGKOoVtA0aEdgOOM6";
if(DataProcess::DES3Encode(deskey, text, strlen(text), (unsigned char *)out, 1024) != 0)
printf("edcode base64:%s\r\n", out);
else
printf("encode failed");
//if(DataProcess::DES3Encode(deskey, text, strlen(text), (unsigned char *)out, 1024) != 0)
// printf("edcode base64:%s\r\n", out);
//else
// printf("encode failed");
if(DataProcess::DES3Decode(deskey, out, strlen(out), (unsigned char *)tmpout, 1024) != 0)
if(DataProcess::DES3Decode((const unsigned char *)DES3_KEY, tmps, strlen(tmps), (unsigned char *)outs, MAX_BUF_LEN) != 0)
printf("edcode base64:%s\r\n", tmpout);
else
printf("encode failed");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment