0.10接口秘钥加强签名

优质
小牛编辑
130浏览
2023-12-01

作用

开发密钥用于加强开发商对账户的控制,用来验证开发商软件与平台账户是否同属于一个开发商。如果不是在自己平台下面建立的账户将无法使用。

产品开发时,直接将gpid和密钥固定写入代码中,以达到产品与开发商账号的绑定。

开发商密钥可以生成多个,可以一个产品对应一个gpid,以方便灵活的控制。并且gpid可以在后台启用/禁用,方便客户端产品的升级管理。

签名加强方法

1.请求参数中增加一个gpid

2.签名时,使用原来的商户apikey+开发密钥进行签名

增加开发密钥签名后的校验规则

1.请求参数中带gpid,则进行开发密钥签名验证规则。

2.首先验证gpid有效性,不存在、禁用则直接返回错误。

3.检查接口账号对应门店与开发密钥gpid的对应关系,即接口软件=》平台账号应该是同一开发商的,否则报错。


步骤和接口方式

服务商后台——商家账户管理——开发密钥

获得对应的gpid和秘钥(名称用来备注开发商版本软件)

Api接口调整方案

举例:“gpid=XXXXXX&id=233187&msid=113&nonce=112&signtype=sha1×tamp=20150807123101,5d048e69ee55a71899392f5c2c8b24f1db07b7c5,开发商秘钥”msg_sign=sha1(验证串)


DLL接口调整方案

1.初始化密钥调整

//初始化门店编号,和 ApiKey,门店编号和ApiKey参见0.1中的说明。

int _stdcall JuInit(char* 门店编号, char* ApiKey)
调整:初始化函数中,参数ApiKey=商户apikey+","+开发商密钥,如,商户密钥为aaa,开发商密钥为bbb,则ApiKey="aaa,bbb"

2.接口调用函数调整
//执行Api调用
Char* _stdcall JuDoApi(char* api名称, char* Get参数, char* Post参数)

调整:Get参数中增加一个gpid=gp168xxxxxx,其它不变。