API接口
统一说明
I. 域名及API密钥
| 生产环境域名 (https://openapi.Keysecure.io/
) | 不支持测试环境 |
---|---|
app_id: | 请创建钱包后获取 |
rsa_wallet_pub: | Keysecure系统公钥;请创建钱包后从Keysecure系统获取 |
rsa_third_prv: | 客户私钥;自主生成、保存 |
rsa_third_pub: | 客户公钥;自主生成;请创建钱包后配置到Keysecure系统 |
rsa_co_signer_pri: | Co-Signer私钥;使用Co-Signer生成,或自主生成、保存 |
rsa_co_signer_pub: | Co-Signer公钥;使用Co-Signer生成,或自主生成;请创建钱包后配置到Keysecure系统 |
RSA公私钥格式
密码长度:2048
密钥格式:PKCS#8
其中:rsa_public_key_2048.pem
为公钥文件,private_pkcs8.pem
为私钥文件
II. 接口规则
传输方式: | https(测试环境暂时使用 http) |
---|---|
请求地址: | 域名+接口地址 |
请求头: | Content-Type:application/x-www-form-urlencoded |
加密算法: | RSA,参考 https://en.wikipedia.org/wiki/RSA_(cryptosystem) |
响应头: | Content-Type:application/json;charset=utf-8 |
响应状态码为: | 0 表示处理成功 ,非 0 表示请求错误或系统异常 |
III. 请求参数统一格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
app_id | String | 必须 | 商户唯一标识 |
data | String | 可选 | json格式的数据 加密之后的字符串;客户的RSA私钥加密,具体加密信息见各接口 请求参数数据结构 |
IV. 响应参数统一格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
data | String | 必须 | json格式的数据 加密之后的字符串;Keysecure的RSA私钥加密,具体加密信息见 响应结果data解密后格式 |
响应结果data解密后格式
响应结果data解密后,原始json数据
参数结果格式如下:
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
code | String | 是 | 状态码,例:100002 |
msg | String | 是 | 响应结果说明,例:请求参数错误 |
data | String | 否 | 具体响应数据,数据结构定义见各接口 响应参数数据结构 |
V. 加解密方式
请求参数data与响应字段data的值都是经过rsa加密后再通过 base64urlsafe 加密的结果
base64传统编码中会出现+, /两个会被url直接转义的符号,因此如果希望通过url传输这些编码字符串,我们需要先做传统base64编码,随后将+和/分别替换为- _两个字符,在接收端则做相反的动作解码
rsa加密与解密使用分段加密