为了保证数据传输的安全,会携带配置的vkey用来验证来源。同时使用encrypt该密钥对消息内容做对称加密或解密。
消息加解密算法:
采用AES进行加密解密,加密模式为AES-CBC,填充模式使用零填充,偏向使用vkey密钥
下载以下PHP、JS、GoLang示例:
http://proxy-os.aimlt.com/public/up/20220410/572653bda2cb2899eb3f26a82e88a7ec.zip
消息加密实现:
完整的消息体示例:
{ "signature":"111ee6dbce3c9671dr6fdb69d1t506", "timestamp":"1783210513", "nonce":"123456", "encrypt":"214ojQ2f0NSvw2WPv3W7LijxS8UvISr8pdDePrXrpPbcL5kg" }
其中encrypt为AES加密的推送事件信息,加密前格式如下:
{ "event" : "event_device_online", "content" : "123456", }
encrypt数据格式说明:
event 为事件类型,详情事件列表
content 为消息内容,需要经过Base64编码处理
signature数据签名算法:
md5(encrypt=214ojQ2f0NSvw2WPv3W7LijxS8UvISr8pdDePrXrpPbcL5kg&nonce=123456& timestamp=1783210513&vkey)
注意前后顺序,大小写等
encrypt数据解密密钥算法:
md5(signature&vkey)
注意:signature为签名结果