开发者可通过 **签名** 功能手动进行加签操作。生成 **签名(sign)**后,开发者可与自己代码中请求生成的信息进行对比,了解数据是否正确。
**注意:**暂仅支持新版 OpenAPI 网关接口签名,不支持老版 MAPI 网关接口签名。 # 加签原理 1. 获取所有支付宝开放平台的 post 内容,不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数; 2. 按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推; 3. 将排序后的参数与其对应值,组合成 **参数=参数值** 的格式,并且把这些参数用 `&` 字符连接起来,此时生成的字符串为待签名字符串。 # 操作指引 ## 请求参数 打开 **密钥工具**,左侧导航栏选择 **签名**,输入传入开放平台的 post 内容(不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数)。
**注意:**若使用 **公钥证书** 模式签名,在拼接待签名字符串时需添加解析出来的 [应用公钥证书 SN(app_cert_sn)](https://opendocs.alipay.com/support/01raux)和 [支付宝根证书 SN(alipay_root_cert_sn)](https://opendocs.alipay.com/support/01rauy)。 ### 示例 ``` timestamp=2019-01-01 08:09:33&method=alipay.trade.create &app_id=20135234674&sign_type=RSA2&biz_content={"total_amount":"10.08", "buyer_id":"2088123456781234", "discount_amount":""} ``` ### 参数说明 | **配置参数** | **描述** | **示例值** | | --- | --- | --- | | appid | APPID 创建应用后生成。 | 2021*********807 | | method | 接口名称 | alipay.trade.create | | charset | 请求和签名使用的字符编码格式,支持 GBK 和 UTF-8。 | 实际开发编码配置。 | | format | 参数返回格式,只支持 JSON。 | JSON | | sign_type | 商家生成签名字符串所使用的签名算法类型,目前支持 RSA2。 | RSA2 | | biz_content | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档。 | - | ## 应用私钥 开发者需填入应用私钥,[查看密钥/证书](https://opendocs.alipay.com/common/057aqe)。
**注意:**必须与应用 ID 中上传的应用公钥是匹配的,详情可查看 [如何检验 RSA2 密钥是否匹配](https://opendocs.alipay.com/support/01rauv)、[如何检验密钥证书是否匹配](https://opendocs.alipay.com/support/01rauz)。 ## 字符集 RSA2 签名支持字符集 UTF-8 和 GBK。 ## 签名方式 新建应用请务必使用支持 RSA2 即 2048 位。(目前已使用 RSA 密钥长度即 1024 位密钥长度的应用仍然可以正常调用接口,详情可查看 [开放平台接口签名方式升级公告](https://open.alipay.com/platform/announcement.htm?id=55))。 ## 开始签名 1. 输入请求参数及应用私钥后点击按钮 **开始签名**,输出 **待签名内容**(经过格式处理后,最终要签名的内容)及 **签名**(sign)。![7.png](https://cdn.nlark.com/yuque/0/2022/png/179989/1667301054372-793cb919-3963-4e3c-a1fa-befc144d2dd3.png#align=left&display=inline&height=589&originHeight=2122&originWidth=2809&size=3430171&status=done&style=stroke&width=780)
![8.png](https://cdn.nlark.com/yuque/0/2022/png/179989/1667301084820-3ef02556-0e50-45da-8eb3-a91e02e1fcfb.png#align=left&display=inline&height=589&originHeight=2122&originWidth=2809&size=2585045&status=done&style=stroke&width=780)