签名验证
说明
商户可以按照下述步骤验证应答或者回调的签名。
如果验证商户的请求签名正确,TTPay 会在应答的 HTTP 头部中包括应答签名。我们建议商户验证应答签名。
同样的,TTPay 会在回调的 HTTP 头部中包括回调报文的签名。商户必须 验证回调的签名,以确保回调是由 TTPay 发送。
构造验签名串
首先,商户先从应答中获取以下信息。
HTTP 头 TTPay-Timestamp 中的应答时间戳。
HTTP 头 TTPay-Nonce 中的应答随机串。
应答主体(response Body),需要按照接口返回的顺序进行验签,错误的顺序将导致验签失败。
签名串一共有三行,每一行为一个参数。行尾以 \n
(换行符,ASCII 编码值为 0x0A)结束,最后一行不用加\n
。如果参数本身以 \n
结束,也需要附加一个\n
。
如某个应答的 HTTP 报文为:
则验签名串为
获取应答签名
TTPay 的应答签名通过 HTTP 头 TTPay-Signature 传递。(注意,示例因为排版可能存在换行,实际数据应在一行)
判断签名
使用AES-256-ECB
的方法生成签名(可参考签名生成)。生成后的签名跟应答签名做对比。不一致则表示数据遭到篡改。
Last updated