j9九游会登录/ 云商店/ / / / / http body签名
更新时间:2025-10-15 gmt 08:00

http body签名-j9九游会登录

定义

云商店每次调用商家的接口时会根据一定规则对请求生成signature,并且将signature通过url params的方式添加到url上,商家在接收到请求后需要同样的规则对请求体进行重新计算signature,并且与云商店传递的signature相比较,完全相同即为校验通过,通过url params传递的参数有:

参数

取值

描述

signature

string

加密签名,通过一定的规则对请求进行签名产生的值。

timestamp

long

unix 时间戳(单位毫秒),商家需要校验这个时间戳与当前时间相差不超过60s。

nonce

string

随机字符串,云商店在每次调用时会随机生成,商家可以通过对这个随机数的缓存来防御api重放攻击。

生成规则

  1. 对请求参数排序,根据参数名自然排序,例如,以字母a开头的参数名会排在以b开头的参数前面,如果首字母相同,将会对第二个字母进行排序,以此类推,直到字符串结束
  2. 获取规范请求字符串,规则:

    canonicalrequest = accesskey nonce timestamp lowercase(hexencode(hmac_sha256 (requestpayload)))

3.根据规则对规范请求字符串,密钥取signature值,规则:

signature = hexencode(hmac_sha256(canonicalrequest))

举例

商家收到的调用请求数据示例如下:

curl -x post 'https://www.isvwebsite.com/saasproduce?signature=31bacbd867c7652d7581e8577a46d8fe778f3bc02553c4f130170613cd8c32f9×tamp=1729566664115&nonce=of4lsv7h1qrzvdi52o5cfk2ofpczraa6' -h 'accept:application/json' -h 'content-type:application/json;charset=utf-8' -d '{"activity":"ordernotify","orderid":"cs2211181819b4lvs","orderlineid":"cs2211181819b4lvs-000001","testflag":"1"}'

相关文档

网站地图