# 安全鉴权模式

微信开放平台为保障开发者应用与平台之间数据传输的安全，提供了公私钥机制与接口内容加密能力。开发者可在 [微信开放平台](https://open.weixin.qq.com/) 的 API 安全中设置 API 密钥，并通过为应用配置公钥的方式防止数据篡改。

## 1、签名与验签介绍

在请求 API 的过程中，为了保护数据的安全，开发者在应用中使用自己的私钥生成请求的签名，平台会在收到请求后使用应用的公钥进行签名的验证，开发者则使用平台证书中的公钥验证回调的签名，来保证互相请求的真实性和数据的完整性。

### 1.1 公钥

公钥是指应用公钥，开发者通过平台工具生成公钥信息，并保存在 API 安全配置中，用于平台进行接口调用时的验签。

### 1.2 私钥

私钥是指应用私钥，开发者可以通过平台工具生成私钥信息，用于生成请求的签名。请妥善保管好私钥文件，务必自行保障其安全性。

### 1.3 平台证书

平台证书是指包含微信开放平台公钥信息的证书，开发者在配置应用公钥后由平台生成，用于进行接口回调时的验签。

![](https://res.wx.qq.com/op_res/6tyEfxGZFG5QWUQ9PWbhEh4Tu02uKQYlx_9ATfouxbIOoLw1Wkn6FpPfKB6I-6g8R9vTmFi56HFCKfhOXYJ4XQ)

## 2、接口内容加密介绍

平台支持对接口的请求内容和响应内容进行 AES256/SM4 加密（资源上传类 API 暂不支持加密），加密后，在网络上传输的接口报文内容将会由明文内容变为密文内容，可以大幅提升接口内容传输的安全性。

接口内容加密结合加签验签，可以在防止接口传输数据泄露的前提下，同时确认接口传输的内容没有被篡改。开发者可对请求参数先做内容加密，然后对密文进行签名。

## 3、生成并配置密钥

开发者可根据本文指引，快速完成密钥生成、配置及平台证书获取。

### 3.1 进入配置页

**操作路径**

- 前往「[微信开放平台](https://open.weixin.qq.com/) - 管理中心 - 移动应用 - 应用详情 - 开发配置 - API 安全」，即可进行 API 密钥的配置

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F20250624102651040.png)

点击「开始配置」后，进入配置页面。

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F20250624102531013.png)

### 3.2 生成接口内容加密密钥

若开发者需对接口的请求内容进行加密，可在「API 对称密钥」处进行配置：

1）点击「随机生成密钥」后再进行下载

2）复制生成的密钥至新密钥输入框中，验证无误后点击「确定」

3）需使用管理员微信扫码验证身份，通过后即可完成对称密钥的上传

![](https://res.wx.qq.com/op_res/3I7_v9DnaDSVReYPvyZUBXLFw51V8FX2BOg7fyLNo48iQmwtdtRCnzXkPS0_jIPTyEa-A7PVQIwzKYTeioOZ3g)

![](https://res.wx.qq.com/op_res/PHp5B66p_AuNql-NVE1oMQ8Mi7fxGmR4tVX0MeqGKWmpaJYqyX2_SaupBGQqWv0Gn0v9Sn3zHrVjVAiR7xuWDA)

### 3.3 生成应用私钥和公钥

若开发者需生成请求的签名，可在「API 非对称密钥」处进行配置：

1）点击「随机生成密钥」后再进行下载

2）复制生成的私钥信息，此信息无需上传，请妥善进行保管

3）再复制生成的公钥至新密钥输入框中，验证无误后点击「确定」

4）需使用管理员微信扫码验证身份，通过后即可完成应用公钥的上传

![](https://res.wx.qq.com/op_res/3I7_v9DnaDSVReYPvyZUBevU4GiOqOaVU2WG6Wby7v5nJ7lIxawBpYN1L7uAcKMMas0wzYE24xHY3W4q84bckQ)

![](https://res.wx.qq.com/op_res/PHp5B66p_AuNql-NVE1oMQ8Mi7fxGmR4tVX0MeqGKWmpaJYqyX2_SaupBGQqWv0Gn0v9Sn3zHrVjVAiR7xuWDA)

### 3.4 获取平台证书

开发者配置完应用公钥后，需下载开放平台证书，用于后续接口回调时的验签操作。在此页面，也可查看对应的 API 密钥及密钥编号。

![](https://res.wx.qq.com/op_res/DV65o6dsPWdujUk2GCvN5ENYndIog5BOcciTsA8XYoewheAmTrPp8-54TLZuGvkfSiz6LARMKA02SCr20N_OJA)
