阿哥论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 221|回复: 0

消息体签名与加解密-方案概述

[复制链接]

50

主题

0

好友

248

积分

IT初级专家

Rank: 3Rank: 3

升级  16%

发表于 2015-4-11 11:52:22 |显示全部楼层
消息体签名与加解密-方案概述
公众平台消息体签名及加解密方案概述

1.新增消息体签名验证,用于公众平台和公众账号验证消息体的正确性
2.针对推送给微信公众账号的普通消息和事件消息,以及推送给设备公众账号的设备消息进行加密
3.公众账号对密文消息的回复也要求加密
开发者需注意,公众账号主动调用API的情况将不受影响。

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

为了配合消息加密功能的上线,并帮助开发者适配新特性,公众平台提供了3种加解密的模式供开发者选择,即明文模式、兼容模式、安全模式(可在“开发者中心”选择相应模式),选择兼容模式和安全模式前,需在开发者中心填写消息加解密密钥EncodingAESKey。
明文模式:维持现有模式,没有适配加解密新特性,消息体明文收发,默认设置为明文模式
兼容模式:公众平台发送消息内容将同时包括明文和密文,消息包长度增加到原来的3倍左右;公众号回复明文或密文均可,不影响现有消息收发;开发者可在此模式下进行调试
安全模式(推荐):公众平台发送消息体的内容只含有密文,公众账号回复的消息体也为密文,建议开发者在调试成功后使用此模式收发消息

什么是EncodingAESKey?微信公众平台采用AES对称加密算法对推送给公众帐号的消息体对行加密,EncodingAESKey则是加密所用的秘钥。公众帐号用此秘钥对收到的密文消息体进行解密,回复消息体也用此秘钥加密。

此外,微信公众平台为开发者提供了5种语言的示例代码(包括C++PHPJavaPythonC#版本,../static/assets/a5a22f38cb60228cb32ab61d9e4c414b.zip )。请开发者查看接入指引开发者FAQ来接入消息体签名及加解密功能,若关注技术实现,可查看技术方案

消息体签名与加解密-方案概述
摘自:http://mp.weixin.qq.com/wiki/13/80a1a25adbc46faf2716774c423b3151.html

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部