微信公众平台公告

公众平台安全升级,消息体签名及加密功能上线

目前,公众平台推送给公众账号的基础消息和公众账号回复的响应消息存在一定程度的安全风险,为了更好的保护用户和公众账号的信息安全,公众平台将对信息安全进行升级,升级内容如下:

1. 新增消息体签名验证,用于公众平台和公众账号验证消息体正确性

2. 针对推送给微信公众账号的普通消息和事件消息,以及推送给设备公众账号的设备消息进行加密

3. 公众账号对密文消息的回复也要求加密


开发者需注意,公众账号主动调用API的情况将不受影响。


启用加解密功能(即选择兼容模式或安全模式)后,公众平台服务器在向公众账号服务器配置地址(可在“开发者中心”修改)推送消息时,URL将新增加两个参数(加密类型和消息体签名),并以此来体现新功能。加密算法采用AES,具体的加解密流程和方案请查看公众平台开发者文档中的接入指引、技术方案和示例代码。


为了配合消息加解密功能的上线,并帮助开发者适配新特性,公众平台提供了3种加解密的模式供开发者手动选择,分别为:明文模式、兼容模式和安全模式(以上3种模式可在“开发者中心”选择),在选择兼容模式和安全模式时,需在开发者中心填写加解密密钥EncodingAESKey




1. 明文模式

维持原有模式,没有适配加解密新特性,消息体明文收发,默认设置为明文模式。


2. 兼容模式

公众平台发送的消息内容将同时包括明文和密文,消息包长度将增加到原来的3倍左右;公众账号回复明文或密文均可,不影响现有消息的收发;开发者可在该模式下进行调试。


3. 安全模式(推荐)

公众平台发送的消息内容将为纯密文,公众账号回复的消息体也为纯密文;我们建议开发者在调试成功后,使用该模式收发消息,以提高公众账号的信息安全。




此外,微信公众平台为开发者提供了5种语言的示例代码(包括C++、php、Java、Python和C#,点击下载)。请开发者查看公众平台开发者文档中的消息加解密方案概述接入指引开发者FAQ来接入消息体签名及加解密功能,若关注具体技术实现,可查看消息体加解密详细技术方案


微信团队
2014年10月14日