# 接入说明 本文档展示了如何通过[http](https://book.e-buy.com/books/e-buy-40/page/7f100 "基于HTTP协议的通讯方式")请求,完成于易百电子凭证系统完成对接。 本文档主要面向的读者为各有需求接入电子凭证的,有一定开发能力的技术人员。 #### 本文档中必填字段仅限于易百自制码,第三方制码可能存在部分字段无法返回。在对接时可与易百技术人员沟通 #### 配置密钥 取码对接方对接时,需跟业务同事沟通后把公钥发送到指定邮箱。易百电子凭证系统会分配app\_id, version, saleChannelId, 易百电子凭证系统公钥等信息 开发者调用接口前需自行生成RSA密钥,RSA密钥包含: - 应用私钥(APP\_PRIVATE\_KEY) - 应用公钥(APP\_PUBLIC\_KEY) #### RSA私钥与公钥生成方法 ##### 1.运行 openssl ``` CMD> openssl ``` ##### 2.生成明文RSA私钥 ``` OpenSSL> genrsa -out rsa_private_key.pem 2048 ``` - 其中 `rsa_private_key.pem` 为私钥保存的文件名,`2048`位为密钥长度 - 默认情况下,openssl 输出的密钥格式为 PKCS#1-PEM ##### 3.生成明文RSA公钥 ``` OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem ``` - 其中 `rsa_private_key.pem` 为私钥保存的文件名,`rsa_public_key.pem`为公钥保存的文件名 ##### 4.如果是Java语言,私钥需要转成PKCS8格式 ``` OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -out rsa_private_key.pkcs8 -nocrypt ``` - 其中 `rsa_private_key.pem` 为私钥保存的文件名,`rsa_private_key.pkcs8`为私钥PKCS8格式保存的文件名 生成密钥后在电子凭证管理中心进行密钥配置,配置完成后可以获取: - 电子凭证公钥(WHALE\_PUBLIC\_KEY)。 #### 第三步:搭建和配置开发环境 ##### 1.调用方法
内容 | 说明 |
---|---|
通讯方式 | 采用 HTTPS 方式访问 |
提交方法 | POST (application/[json](https://book.e-buy.com/books/e-buy-40/page/7f100 "网络通信时的一种数据交互格式")) |
交互数据格式 | [JSON](https://book.e-buy.com/books/e-buy-40/page/7f100 "网络通信时的一种数据交互格式") |
字符编码 | UTF-8 |
签名算法 | SHA256WithRSA |
签名验证 | 提交和返回数据都需要验证签名 |
序号 | 参数 | 类型 | 参考数据 | 参数说明 | 备注 |
---|---|---|---|---|---|
1 | action | String | MakeCode | 交易类型 | 具体接口有详细说明 |
2 | app\_id | String | 2014072300007148 | 应用ID | 开放平台分配给开发者的应用ID |
3 | biz\_content | String | BASE64 | 报文内容BASE64 | 具体接口中有详细说明,本域需要采用BASE64编码 |
4 | timestamp | String | 1483372334 | Unix时间戳 | 单位:秒 |
5 | version | String | 20171212 | 版本号 | 用于兼容不同的报文协议对应后台不同的处理方式 |
6 | sign | String | 7E65B60DCFA42B04 | 数据签名 | 详见:签名算法 |