1. 引言
有证链开放平台(下称:平台)对鉴定机构推出有证链saas开放平台,鉴定机构可以在其内部系统无缝对接有证链saas系统平台。 合作机构通过平台系统API接口完成鉴定产品上报有证链开放平台,实现有证信息记录和证书打印查询等功能。
2. 接入开放平台条件
- 申请成为平台合作鉴定机构
- 申请平台接入标识
appId,获取请求签名密钥 - 根据平台规定的鉴权模式完成数据加密与签名
- 开发业务接口
- 测试环境调试
- 申请上线
3. 接口总体说明
3.1. 接口url
3.2. 鉴权方式
3.2.1. 鉴权描述
合作机构从开放平台申请接入标识(APPID)和开放平台公钥文件。 下载有证链平台公钥 并提供合作伙伴自己的公钥文件
加密文件说明及生成方式(Linux)
- 秘钥位数:1024位,秘钥格式:PKCS8
- 生成RSA私钥:
openssl genrsa -out rsa_private_key.pem 1024- 把RSA私钥转换成PKCS8格式:
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt- 生成RSA公钥:
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
3.2.2. 加密方式
- 将bizData参数(除去sign,appId,call,encType,signType等公有参数)转换成JSON字符串 str1
- 使用平台提供的公钥,对步骤1得到的JSON字符串str1 进行数据加密得到加密字符串str2
- 对步骤2得到的加密字符串str2进行base64编码得到str3
- 使用渠道的私钥对str1计算签名得到签名sign_str1
- 对sign_str1进行base64编码得到sign_str2
- 向接口POST请求,附上加密的数据str3和签名sign_str2
3.3. 数据交互规范
- 使用HTTP(S)协议进行数据通信;
- 使用POST方式发送请求数据(Content-Type: application/json);
- 平台服务端请求和响应数据均为utf8编码,返回数据使用JSON格式;
3.4. 公共请求参数说明
| 参数名称 | 类型 | 必选项 | 参数说明 |
|---|---|---|---|
| appId | string | 是 | 开放平台分配给合作方的唯一标识 |
| bizData | string | 是 | Api调用参数. |
| sign | string | 是 | 请求签名, 签名规则见附录 |
| call | string | 是 | 请求接口标识 |
| encType | int | 是 | 加密方式 RSA: 1 |
| signType | int | 是 | 签名方式 RSA: 1 |
接口请求示例
{
"appId": "e4d0153d67291417",
"bizData": "NtHo7Juni4t5T2dk7l0Q4660_xd-BaPGE81R6fun1otYQhR0XVedE2cVeUNLx0pwtAkKfcUNMlQppdp6itNwA-d0ZT_oJiXuMGKrGsKaO-4wdaBHuRtN4uq--Ch7Vlqkp0WuJo-SqZryGYJ1UnMacIm_zysuT_r2ZDAr8N12gxo",
"sign": "Ud0dbHEk8clnBQTmUSMpiTY1lM8sudpTB1sVib0cx61wszq_i0mYHyhE3S0IsWmoibVrwBsrtFQRTmdND0Dd6N4_9UE6SDJhm6vY3Q3_5K3ckyb6M0UQitnlL-FK3zO3ZhcKPDc-44q_n146yelZD0ZctWdn7ogUMg4uso1ndl0",
"call": "call.orgSubList",
"encType": 1,
"signType": 1,
"timestamp": 1577631534
}
3.5. 数据返回格式规范
开放平台服务端响应格式只支持json,返回的数据总是包含code和msg字段,根据需要包含data字段。 接口响应示例数据结构:
{
"code": 0,
"msg": "success",
"data": []
}
其中msg为提示信息,data为接口返回的数据。当code值为0时接口调用成功。,非0均为失败(返回码映射关系详见附录返回码)