新聞中心
Q 為什么要上線消息加密功能?

創(chuàng)新互聯(lián)建站主要從事做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)閻良,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):028-86922220
A 為了更好的保護(hù)用戶(hù)和公眾賬號(hào)的信息安全。
Q 接入消息加解密功能復(fù)雜嗎?
A 開(kāi)發(fā)者接入消息加解密功能并不復(fù)雜,微信團(tuán)隊(duì)提供了5種語(yǔ)言的示例代碼(包括C++、php、Python、Java和C#),對(duì)于使用這個(gè)5種語(yǔ)言的開(kāi)發(fā)者,只需根據(jù)《消息加解密接入指引》,參考示例代碼,調(diào)用微信公眾平臺(tái)提供的函數(shù)即可;而對(duì)于其他語(yǔ)言的開(kāi)發(fā)者,需根據(jù)《消息加解密詳細(xì)技術(shù)方案》編寫(xiě)相關(guān)代碼。
Q 消息加密功能將帶來(lái)哪些重要變化?
A 有如下幾個(gè)方面:
選擇明文模式時(shí),收發(fā)消息的方式和原先相同,但安全系數(shù)較低,微信團(tuán)隊(duì)推薦開(kāi)發(fā)者在兼容模式下開(kāi)發(fā)調(diào)試,并升級(jí)到安全模式;
選擇兼容模式時(shí),消息包同時(shí)包括明文和密文,消息包的長(zhǎng)度會(huì)相應(yīng)增加到原來(lái)的3倍左右,開(kāi)發(fā)者需檢查系統(tǒng),做好預(yù)留,防止因消息變長(zhǎng)而接收出錯(cuò);
兼容模式和安全模式下,公眾平臺(tái)服務(wù)器向公眾賬號(hào)服務(wù)器配置地址URL推送消息時(shí),將會(huì)增加兩個(gè)參數(shù);
安全模式下,內(nèi)容為純密文,請(qǐng)?zhí)崆白龊媒邮障⒌慕饷芄ぷ骱突貜?fù)消息的加密工作。
Q 什么是EncodingAESKey?
A 微信公眾平臺(tái)采用AES對(duì)稱(chēng)加密算法對(duì)推送給公眾帳號(hào)的消息體對(duì)行加密,EncodingAESKey則是加密所用的秘鑰。公眾帳號(hào)用此秘鑰對(duì)收到的密文消息體進(jìn)行解密,回復(fù)消息體也用此秘鑰加密。
Q 開(kāi)發(fā)者如何判斷消息是否被加密?什么情況下需要對(duì)回包進(jìn)行加密?
A 請(qǐng)開(kāi)發(fā)者根據(jù)URL參數(shù)來(lái)判斷:url上無(wú)encrypt_type參數(shù)或者其值為raw,表示消息體僅含有明文,公眾賬號(hào)回復(fù)明文。encrypt_type為aes則表示消息體含有密文,公眾賬號(hào)回復(fù)密文(兼容模式期間回復(fù)明文或密文均可)。
Q 公眾賬號(hào)開(kāi)發(fā)者上線加解密版本后,還需要保留明文解包和回包邏輯嗎?
A 暫時(shí)先保留之前的邏輯,根據(jù)參數(shù)判斷,也做成兼容模式比較好。
Q 常見(jiàn)錯(cuò)誤舉例
A 常見(jiàn)錯(cuò)誤原因如:
xml格式不對(duì):如
公眾平臺(tái)網(wǎng)站提供了修改EncodingAESKey的功能,公眾賬號(hào)需要保存當(dāng)前的和上一次的EncodingAESKey,若當(dāng)前的EncodingAESKey解密失敗,則嘗試用上一次的EncodingAESKey解密。回包時(shí),用哪個(gè)Key解密成功,則用此Key加密對(duì)應(yīng)的回包
調(diào)用DecryptMsg解密時(shí),傳入的是url上的msg_signature,而不是signature
Java要求jdk 1.6及1.6以上
異常java.security.InvalidKeyException:illegal Key Size的解決方案:在官方網(wǎng)站下載JCE無(wú)限制權(quán)限策略文件(請(qǐng)到官網(wǎng)下載對(duì)應(yīng)的版本, 例如JDK7的下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 下載后解壓,可以看到local_policy.jar和US_export_policy.jar以及readme.txt,如果安裝了JRE,將兩個(gè)jar文件放到%JRE_HOME%\lib\security目錄下覆蓋原來(lái)的文件;如果安裝了JDK,將兩個(gè)jar文件放到%JDK_HOME%\jre\lib\security目錄下覆蓋原來(lái)文件
Q 微信公眾平臺(tái)接口調(diào)試工具是否支持消息體加解密的在線調(diào)試?
A 點(diǎn)擊http://mp.weixin.qq.com/debug
網(wǎng)頁(yè)題目:消息體簽名與加解密-開(kāi)發(fā)者Q&A
鏈接URL:http://m.fisionsoft.com.cn/article/djogjcc.html


咨詢(xún)
建站咨詢(xún)
