# 安全鉴权模式
微信开放平台的接口通信鉴权体系使用了公私钥机制,开发者可在 微信开放平台 API 安全中设置 API 密钥,为自身应用配置公钥防止数据篡改,以此来保障开发者应用和微信开放平台交互的安全性。
# 1、签名与验签介绍
在请求 API 的过程中,为了保护数据的安全,开发者在应用中使用自己的私钥生成请求的签名,平台会在收到请求后使用应用的公钥进行签名的验证,开发者则使用平台证书中的公钥验证回调的签名,来保证互相请求的真实性和数据的完整性。
# 1.1 公钥
公钥是指应用公钥,开发者通过平台工具生成公钥信息,并保存在 API 安全配置中,用于平台进行接口调用时的验签。
# 1.2 私钥
私钥是指应用私钥,开发者可以通过平台工具生成私钥信息,用于生成请求的签名。请妥善保管好私钥文件,务必自行保障其安全性。
# 1.3 平台证书
平台证书是指包含微信开放平台公钥信息的证书,开发者在配置应用公钥后由平台生成,用于进行接口回调时的验签。
# 2、接口内容加密介绍
平台支持对接口的请求内容和响应内容进行 AES256/SM4 加密(资源上传类 API 暂不支持加密),加密后,在网络上传输的接口报文内容将会由明文内容变为密文内容,可以大幅提升接口内容传输的安全性。
接口内容加密结合加签验签,可以在防止接口传输数据泄露的前提下,同时确认接口传输的内容没有被篡改。开发者可对请求参数先做内容加密,然后对密文进行签名。
# 3、生成并配置密钥
开发者可根据本文指引,快速完成密钥生成、配置及平台证书获取。
# 3.1 进入配置页
操作路径
- 前往「微信开放平台 - 管理中心 - 移动应用 - 应用详情 - 开发配置 - API 安全」,即可进行 API 密钥的配置
点击「开始配置」后,进入配置页面。
# 3.2 生成接口内容加密密钥
若开发者需对接口的请求内容进行加密,可在「API 对称密钥」处进行配置:
1)点击「随机生成密钥」后再进行下载
2)复制生成的密钥至新密钥输入框中,验证无误后点击「确定」
3)需使用管理员微信扫码验证身份,通过后即可完成对称密钥的上传
# 3.3 生成应用私钥和公钥
若开发者需生成请求的签名,可在「API 非对称密钥」处进行配置:
1)点击「随机生成密钥」后再进行下载
2)复制生成的私钥信息,此信息无需上传,请妥善进行保管
3)再复制生成的公钥至新密钥输入框中,验证无误后点击「确定」
4)需使用管理员微信扫码验证身份,通过后即可完成应用公钥的上传
# 3.4 获取平台证书
开发者配置完应用公钥后,需下载开放平台证书,用于后续接口回调时的验签操作。在此页面,也可查看对应的 API 密钥及密钥编号。