签名认证与环境说明

更新时间: 2020-09-28 


总述

1) Http请求方式

POST

2) 加密方式

  • MD5签名
  • DES加密消息体

3) 密钥

测试SecrectKey:12345678
生产SecrectKey:上线时确认

4) 字符集

所有字符集均采用UTF-8

5) 报文消息格式

Json消息格式。
请在Http请求头中指定Content-Type
Json:application/json

    Json:
    {

    }

1. 供应商提供API规范

1.1 url列表:

参考各接口的文档描述定义url。

1.2 参数介绍

API的输入参数包含系统级参数应用级参数

系统级参数:

对于每个API均一致,用于加密、标识用户身份、API协议版本等用途。

系统级参数明细: |名称|是否必选|含义|类型|取值示例及说明|附加信息| |:---:|:---:|:---:|:---:|:---:|:---:| |domain|是|供应商URL|String| |url中定义| |channel|是|渠道|String| |url中定义| |version|是|API版本号|String|2.0|url中定义| |timestamp|是|时间戳|String|yyyyMMddHHmmss|url中定义| |sign|是 |API输入参数签名结果|String|XXXXXXX|url中定义|

应用级参数:

针对API的不同用途,应用级参数各不相同,详细参见供应商对接文档。

1.3 消息体加密

使用DES加密,密钥为携程提供的SecrectKey。加密体是{应用级参数及参数值},加密。
密文= DESEncrypt({应用级参数及参数值}, SecrectKey)

DES加密规格
ECB;
PKCS5Padding;
字节编码方式:16进制大写

示例

明文:

   {"ctripPurchaseOrderId":881824257631123456,"vendorOrderId":"20201022205600","cancelReason":"系统取消"}

密文:(密钥:12345678)

    0DFE985414998D36084BFF624CBAFC39D2B67742D881F7A40F9F9E9DC859C20BB19688B198C96439B2DE94C064F1FF14F187736F95529336FF71457A5BDFA882F8915340F3253FCB75283643F74C415ACD7E77E0A8505853A0764C44996A5919A6448FBF5B28F9B20C2F7CAFAB0AB326

1.4 签名方法

MD5签名将供应商ID、版本号、渠道、时间戳、加密密钥、消息体长度字符串拼接之后MD5加密。
Auth=MD5(VendorID+ Version + Channel +TimeStamp+SecrectKey+{消息体加密后内容}.Lenth)转换为小写字符

  • +代表字符串拼接
  • {消息体加密后内容}.Lenth. 代表加密后消息体长度,注意消息体中请清除所有/r/n 空格之类的格式化符号。

示例

VendorID:1000009
Version:2.0
Channel:JNT
TimeStamp:20201022202528
SecrectKey: 12345678
消息体加密后长度:224(消息体加密中的示例)

明文:
10000092.0JNT2020102220252812345678224
密文:
0cd45ac608448cb94b6bd886c7bb125c

2. 携程提供API规范

2.1 通信方式

携程采用API的方式为供应商提供业务数据推送等服务。
API地址:

2.2 消息体加密

使用DES加密,密钥为携程提供的SecrectKey。加密体是{body内容},加密。
密文=DESEncrypt({body内容}, SecrectKey)

DES加密规格
ECB;
PKCS5Padding; 字节编码方式:16进制大写

2.3 签名

MD5签名将供应商Id、请求时间戳、加密密钥、消息体长度字符串拼接之后MD5加密。
Auth =MD5(VendorID+TimeStamp+SecrectKey+{Envelope加密后内容}.Lenth) 转换为小写字符

  • +代表字符串拼接
  • {Envelope加密后内容}.Lenth代表加密后Envelope长度,注意Envelope中请清除所有/r/n 空格之类的格式化符号。

results matching ""

    No results matching ""