2.2 加签验签说明
提示
商户、合作方与易生支付交易报文双向认证。
1.
2.
3.
4.
5.
6.
支持多证书,多证书时交易报文上送证书号certificateId。
公钥私钥
易企通2.0 易生公钥(生产环境)
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLLVY70e67BcK4V08P+69dfBeMmMYDopf3HF9G6meqPTVxyGYlEb0XwT0UA6g8t2HzG8FaKgTFKgOvhr+EFbBcF+AYdrgFYZSjR4hWBkWiOyKC66wQ7kQhYzC4kwetcDp5TftJfSivbAC1Lm8/Gf2+ZpaDuHDPjLCFS2gQYI5dqwIDAQAB
易企通2.0 易生公钥(测试联调环境)
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgVerkGaSEQvZIOpLjeUoVpL0lSYLc04+txtPFtfm5r5XFbaNaf5Ahu0lziGEwWzrGONThSsnb3U9pqoY6BpqviN4h+Guw5oEdHr1T/eDkQD5urgQUaZA6lDoU9XC662r+0kpbKidvXIsK2CrShN+BF8HEJmRZuhglxh25OHWIWqQiUDjLZC+QJRZqUu9Uzy9RBBu7qa0f0xbqYl3hnYi+vH++SsyOavO2gUVQyKU5Kkt5ZJVpZFQvD3BXePgwJSpsvrjhj0hiYp2v6PScN9XHP1vXB4wtIYSFYwmVus1KkV/LfDzUm6zHjliHYTVl6lPMhveIVJlRIqInRZRHxg5QIDAQAB
易企通2.0 商户私钥(测试联调环境)
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCc1mku1mtfTc1vZM9z3TkRMZ9SaKP+6MdoQhjDHB9vJUOuG2Jnegej4gtzcm8MVYomV1azJMtCbPq4PN9aHegH13JthvrUPR3nAKp8AUp9Fh47ded//snNyAf7C7o8xKN5e7n89ROwacCAL2QDno76ngXzQQVj1TxY9pBdekZ03ezuDk1sv/u4FBlW8kRyaVdqyl4FdvP+EEljDe8gGxRikLyb3cK1B6G7w2BXgM/svft5SOoiqStx2XvgHRrFRB5w96TdoKNH9yxHU2clMJiz+5cej1VL6OHZspuY3cnPyJtyS+weYjDT+COLLBUe9UwbOV15DXDNpBLd34W4GiqtAgMBAAECggEAYaVwmVOwSAblp7wJGScb16OggStbJ2MAe93jEt7Yh1eZGrY7/xbP2O3smTUfBHvhZlusRB7dWf8F3l0v5iiGhRNTT/PhCPEARAl7G3emS9jQe869kkgslq06ose7bQg0i3dH5cEkQAqnameXClXWyRxHshrCY1SonO7uFPUDFtD2Z9GHu6dOWkOHfX7UETHV5/NTSqvner5M2YNsV/5To87zrmaeeNyvu91JgJSYofTD8IcMyhxcswxB9F3ECP7nulLDdCV+9mvE9zO0i4mPBxYb++87J0pu35TN9OY+gpiCK3Ed0gDqvvkTiCQEFu6y7OiqsQwy03CE5hAwWZR2YQKBgQDdb6e7+FWJSr9fIknfvZPPtKmbEkMHP1RYnVo3pmuVm14Z3UmostiSBRPMfVjeOX0N82SONM9P+1v9SDgSK3pL8rlk9Hx6D5KI7uj2IMtTVt00pO31KtxDLmXfgapDbWHK1RGEn1PDrnKYy5yOKJ8n0Wgp4lVEPIBN6uIud0A9iQKBgQC1UXdhEXFETyqEYWb9OnWbBjiVIw3D2/qW5c+WQGsHYdMEImC/0oTWIH9fKd4Azf26JjZ9nQvs5VcijJP6BXbGPqir5NgGVkwCj33PoNg4dDgIVE4BYaSp//7B6jCi5QiRTzCSOmUSkZ5L1Kz4SNEDe9r0MpLhxrsAzmR9aEJ/BQKBgHI71Ks63F2cSwd39+ZNtYA0cj7Gd/+4IvooCs+kseGXKj9rkkFOKj2CEwmuLHdP7vyQcHKQOdbIFFegtxRgi5G8oPm8yq5pdC3iGhpHJr1SlYFACGYu+zxJJlLcYIqyVf2+V3A0hZDwYLwEZjpMKHbxJ6xbz6MJFyObJZ3U9TYJAoGANXoGjJF5Z501u/+CQZN5VjSagZnqGGcL3G+BLx5msrGua9y7zjeHyCOjjWyqtnAKsllM3vVvq/nkHiN6DVaJNmUKmFARSqUvG944TAFzZAsa75H1w8CJsT34ZDbvC0wjn7/MYoRohPZ/ynu6XCwVwUJJTJaR7ZcQVmeJCdezLQUCgYEAszix6V9oL80Clb1nMwIly6I78+pcFKyk82yXxvySb6XPJvgoasbz9xYIeKlPyy6r8Aj/ujz5GVtDtkE6n6bsjekCdnUKUY3uTvFAX+YGQkuZnaPoisELJFI2Hal22tNnJyCOYh//AGAiHYpHNUKD4hsKBb45MhK1xwvTHpuLkdc=
加签
注意: 空字符串也参与签名
【商户加签】 商户使用 "商户自己的RSA私钥" 对请求报文进行加签
待签名串 = ASCII排序(reqHeader) + MD5大写(ASCII排序(reqBody))
reqSign = RSA私钥加签(待签名串, 商户私钥)
{
"reqHeader": {
"transTime": "20250530110821",
"reqId": "D01X66666667068"
},
"reqSign": "",
"reqBody": {
"reqInfo": {
"mchtCode": "531000023045074"
},
"reqOrderInfo": {
"orgTrace": "2623719848982326170072",
"oriOrgTrace": "161800076769295477468",
"oriTransDate": "20250530",
"productCode": ""
},
"payInfo": {
"transDate": "20250530"
}
}
}
测试联调环境 商户RSA 私钥
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCc1mku1mtfTc1vZM9z3TkRMZ9SaKP+6MdoQhjDHB9vJUOuG2Jnegej4gtzcm8MVYomV1azJMtCbPq4PN9aHegH13JthvrUPR3nAKp8AUp9Fh47ded//snNyAf7C7o8xKN5e7n89ROwacCAL2QDno76ngXzQQVj1TxY9pBdekZ03ezuDk1sv/u4FBlW8kRyaVdqyl4FdvP+EEljDe8gGxRikLyb3cK1B6G7w2BXgM/svft5SOoiqStx2XvgHRrFRB5w96TdoKNH9yxHU2clMJiz+5cej1VL6OHZspuY3cnPyJtyS+weYjDT+COLLBUe9UwbOV15DXDNpBLd34W4GiqtAgMBAAECggEAYaVwmVOwSAblp7wJGScb16OggStbJ2MAe93jEt7Yh1eZGrY7/xbP2O3smTUfBHvhZlusRB7dWf8F3l0v5iiGhRNTT/PhCPEARAl7G3emS9jQe869kkgslq06ose7bQg0i3dH5cEkQAqnameXClXWyRxHshrCY1SonO7uFPUDFtD2Z9GHu6dOWkOHfX7UETHV5/NTSqvner5M2YNsV/5To87zrmaeeNyvu91JgJSYofTD8IcMyhxcswxB9F3ECP7nulLDdCV+9mvE9zO0i4mPBxYb++87J0pu35TN9OY+gpiCK3Ed0gDqvvkTiCQEFu6y7OiqsQwy03CE5hAwWZR2YQKBgQDdb6e7+FWJSr9fIknfvZPPtKmbEkMHP1RYnVo3pmuVm14Z3UmostiSBRPMfVjeOX0N82SONM9P+1v9SDgSK3pL8rlk9Hx6D5KI7uj2IMtTVt00pO31KtxDLmXfgapDbWHK1RGEn1PDrnKYy5yOKJ8n0Wgp4lVEPIBN6uIud0A9iQKBgQC1UXdhEXFETyqEYWb9OnWbBjiVIw3D2/qW5c+WQGsHYdMEImC/0oTWIH9fKd4Azf26JjZ9nQvs5VcijJP6BXbGPqir5NgGVkwCj33PoNg4dDgIVE4BYaSp//7B6jCi5QiRTzCSOmUSkZ5L1Kz4SNEDe9r0MpLhxrsAzmR9aEJ/BQKBgHI71Ks63F2cSwd39+ZNtYA0cj7Gd/+4IvooCs+kseGXKj9rkkFOKj2CEwmuLHdP7vyQcHKQOdbIFFegtxRgi5G8oPm8yq5pdC3iGhpHJr1SlYFACGYu+zxJJlLcYIqyVf2+V3A0hZDwYLwEZjpMKHbxJ6xbz6MJFyObJZ3U9TYJAoGANXoGjJF5Z501u/+CQZN5VjSagZnqGGcL3G+BLx5msrGua9y7zjeHyCOjjWyqtnAKsllM3vVvq/nkHiN6DVaJNmUKmFARSqUvG944TAFzZAsa75H1w8CJsT34ZDbvC0wjn7/MYoRohPZ/ynu6XCwVwUJJTJaR7ZcQVmeJCdezLQUCgYEAszix6V9oL80Clb1nMwIly6I78+pcFKyk82yXxvySb6XPJvgoasbz9xYIeKlPyy6r8Aj/ujz5GVtDtkE6n6bsjekCdnUKUY3uTvFAX+YGQkuZnaPoisELJFI2Hal22tNnJyCOYh//AGAiHYpHNUKD4hsKBb45MhK1xwvTHpuLkdc=
============================私钥加签 开始============================
空字符串也参与签名
ASCII排序(reqHeader)
{"reqId":"D01X66666667068","transTime":"20250530110821"}
ASCII排序(reqBody)
{"payInfo":{"transDate":"20250530"},"reqInfo":{"mchtCode":"531000023045074"},"reqOrderInfo":{"orgTrace":"2623719848982326170072","oriOrgTrace":"161800076769295477468","oriTransDate":"20250530","productCode":""}}
MD5大写(ASCII排序(reqBody))
DF9518E710F200DD0EE29BB0C0DE8D86
待签名串 = ASCII排序(reqHeader) + MD5大写(ASCII排序(reqBody))
{"reqId":"D01X66666667068","transTime":"20250530110821"}DF9518E710F200DD0EE29BB0C0DE8D86
reqSign = RSA私钥加签(待签名串, 商户私钥)
aQGDgwYuo/IjaaE1SFcPMYLBf64JlQ7OpTNwgFG4uUqAbx5OtSvVD+VAOFPr6R8syaNI5T8iRzdcBvOh7WaBIEzeV/8F7qUB0R+NZmW+JQwy6JnErw1n74Vp0uP2YvICB2POnQ/MSJbWpYWl9E6I3zNG8dfBGe5xkusa+y1Lw10GAylM0DlygBLReLd0FOTDTFdJDxLI4bQWtmUaNfVuKLm8E8Qm/VKMf0DQBU5GYinFd3y0UdEOaZfPqv5bjyCISKnwjqOluYE6DlnyFixs7fYyTrkmbOfeZ9an+wIOgyoGOvU4Raor21A84si7KFxldzi06zaaXisqP/SDB56Heg==
============================私钥加签 结束============================
验签
注意: 空字符串也参与签名
【商户验签】 商户使用 "易生的RSA公钥" 对易生的响应报文 进行验签
待签名串 = ASCII排序(rspHeader) + MD5大写(ASCII排序(rspBody))
验签结果 = RSA公钥验签(待签名串, rspSign, 易生公钥)
注意
{
"rspBody": {
"aliRespParamInfo": {
"buyerId": "2088612409652625",
"buyerLogonId": "177****1294",
"fundBillList": [
{
"amount": 1,
"fundChannel": "ALIPAYACCOUNT"
}
]
},
"respStateInfo": {
"respDesc": "处理成功",
"transStatusDesc": "支付成功",
"appendRetMsg": "Success",
"appendRetCode": "10000",
"transState": "0",
"respCode": "000000"
},
"settleRespParamInfo": {
"delaySettleFlag": "0",
"settleTime": "20250530103056",
"splitSettleFlag": "0",
"settleAmt": 1,
"settleDate": "20250530",
"patnerSettleFlag": "0"
},
"respOrderInfo": {
"orgTrace": "161800076769295477468",
"timeEnd": "103056",
"cardType": "000U",
"productTrace": "YQ2025053011082155263",
"stlmAmountSum": 0,
"dateEnd": "20250530",
"pcTrace": "2025053022001452621411391226",
"userId": "2088612409652625",
"unTrace": "792025053022001452621411391226",
"transAmount": 1,
"payAmount": 1,
"refundAmountSum": 0,
"outTrace": "9961683369423587676160",
"separateAmountSum": 0
}
},
"rspHeader": {
"easyPayCertificateId": "00000000",
"rspCode": "000000",
"rspInfo": "SUCCESS"
},
"rspSign": "n+wyM0lzrbovU61wIF4mH6bdaZkPNZsm8BDn6hpcSBSPk4LQfVHLhaTlKuK5ehCyvktethjr9Vhmtk/5Hgq3fSxvyawJIhMs4/PX+lWhLycs2WAkjSIXUONi0SwZXm2sqi2DXNLxaoNzuOM9zwtZvYnggjca3aweBbXznc++OIzstzMOWg6nlPQiFxBGVv7tUXVQVnJUp5qhTDIomw3dhYgi6b6MrMlyeV4YvChsOdFwblc/dZHWX1riVl9KbbjyiFuHUhA4eZOCDEHMz+l3hVk+ibkw7HwfJY8bcfHRBkQpBSbz82HntSG5A6zcH/iLI2CnUHOVhhEORoAzXwRSYA=="
}
============================公钥验签 开始============================
待签名串 = ASCII排序(rspHeader) + MD5大写(ASCII排序(rspBody))
{"easyPayCertificateId":"00000000","rspCode":"000000","rspInfo":"SUCCESS"}305434491BCF68934DF1F610B1041C08
rspSign
n+wyM0lzrbovU61wIF4mH6bdaZkPNZsm8BDn6hpcSBSPk4LQfVHLhaTlKuK5ehCyvktethjr9Vhmtk/5Hgq3fSxvyawJIhMs4/PX+lWhLycs2WAkjSIXUONi0SwZXm2sqi2DXNLxaoNzuOM9zwtZvYnggjca3aweBbXznc++OIzstzMOWg6nlPQiFxBGVv7tUXVQVnJUp5qhTDIomw3dhYgi6b6MrMlyeV4YvChsOdFwblc/dZHWX1riVl9KbbjyiFuHUhA4eZOCDEHMz+l3hVk+ibkw7HwfJY8bcfHRBkQpBSbz82HntSG5A6zcH/iLI2CnUHOVhhEORoAzXwRSYA==
测试联调环境 易生RSA 公钥
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArgVerkGaSEQvZIOpLjeUoVpL0lSYLc04+txtPFtfm5r5XFbaNaf5Ahu0lziGEwWzrGONThSsnb3U9pqoY6BpqviN4h+Guw5oEdHr1T/eDkQD5urgQUaZA6lDoU9XC662r+0kpbKidvXIsK2CrShN+BF8HEJmRZuhglxh25OHWIWqQiUDjLZC+QJRZqUu9Uzy9RBBu7qa0f0xbqYl3hnYi+vH++SsyOavO2gUVQyKU5Kkt5ZJVpZFQvD3BXePgwJSpsvrjhj0hiYp2v6PScN9XHP1vXB4wtIYSFYwmVus1KkV/LfDzUm6zHjliHYTVl6lPMhveIVJlRIqInRZRHxg5QIDAQAB
验签结果 = RSA公钥验签(待签名串, rspSign, 易生公钥)
true
============================公钥验签 结束============================
============ 公钥验签 获取待签名串 的详细步骤 ===========
ASCII排序(rspHeader)
{"easyPayCertificateId":"00000000","rspCode":"000000","rspInfo":"SUCCESS"}
ASCII排序(rspBody)
{"aliRespParamInfo":{"buyerId":"2088612409652625","buyerLogonId":"177****1294","fundBillList":[{"amount":1,"fundChannel":"ALIPAYACCOUNT"}]},"respOrderInfo":{"cardType":"000U","dateEnd":"20250530","orgTrace":"161800076769295477468","outTrace":"9961683369423587676160","payAmount":1,"pcTrace":"2025053022001452621411391226","productTrace":"YQ2025053011082155263","refundAmountSum":0,"separateAmountSum":0,"stlmAmountSum":0,"timeEnd":"103056","transAmount":1,"unTrace":"792025053022001452621411391226","userId":"2088612409652625"},"respStateInfo":{"appendRetCode":"10000","appendRetMsg":"Success","respCode":"000000","respDesc":"处理成功","transState":"0","transStatusDesc":"支付成功"},"settleRespParamInfo":{"delaySettleFlag":"0","patnerSettleFlag":"0","settleAmt":1,"settleDate":"20250530","settleTime":"20250530103056","splitSettleFlag":"0"}}
MD5大写(ASCII排序(rspBody))
305434491BCF68934DF1F610B1041C08
待签名串 = ASCII排序(rspHeader) + MD5大写(ASCII排序(rspBody))
{"easyPayCertificateId":"00000000","rspCode":"000000","rspInfo":"SUCCESS"}305434491BCF68934DF1F610B1041C08
============ 公钥验签 获取待签名串 的详细步骤 ===========