消息加密傳輸
本文介紹如何進(jìn)一步提高您與輕量消息隊(duì)列(原 MNS)服務(wù)之間的網(wǎng)絡(luò)鏈路上的安全性。
背景信息
輕量消息隊(duì)列(原 MNS)提供在公網(wǎng)HTTPS上進(jìn)行消息加密傳輸?shù)姆?wù)。對(duì)于包含敏感信息的消息,進(jìn)一步提高您與阿里云服務(wù)之間的網(wǎng)絡(luò)鏈路上的安全性,目前有以下兩種解決方案:
輕量消息隊(duì)列(原 MNS)提供HTTPS的服務(wù)域名,您可以選用HTTPS服務(wù)地址。
在客戶(hù)端對(duì)傳輸?shù)南Ⅲw進(jìn)行加密,防止被竊取。
注意事項(xiàng)
加密消息和解密消息對(duì)性能會(huì)有一定影響。
請(qǐng)不要往加密隊(duì)列里發(fā)送非加密的消息。
解決方案
以下是輕量消息隊(duì)列(原 MNS)對(duì)消息進(jìn)行加密傳輸?shù)慕鉀Q方案。
在消息發(fā)送端先對(duì)消息進(jìn)行加密,然后再發(fā)送。
在消息接收端先對(duì)消息進(jìn)行解密,然后再消費(fèi)。
示例代碼:SecurityQueue.zip,其中:
SeurityQueue.java提供putMessage、popMessage和deleteMessage接口。接口說(shuō)明如下:
putMessage在向服務(wù)器發(fā)消息前,對(duì)消息體按指定的Key和加密算法加密。
popMessage在接收到服務(wù)端消息后,先按指定的方式解密,然后再返回解密后的消息體。
SecurityKeyGenerator.java用于生成加解密需要的secretKey。
SecurityQueueDemo.java提供如何使用SecurityQueue的Demo程序。
更多信息,請(qǐng)參見(jiàn)ReadMe.txt。