术语与说明
开启回调模式时,有以下术语需要了解:
1.msg_signature是签名,用于验证调用者的合法性。具体算法见以下'消息体签名'章节
2.EncodingAESKey用于消息体的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,是AESKey的Base64编码。解码后即为32字节长的AESKey
3.AESKey=Base64_Decode(EncodingAESKey + “=”),是AES算法的密钥,长度为32字节。AES采用CBC模式,数据采用PKCS#7填充至32字节的倍数;IV初始向量大小为16字节,取AESKey前16字节。具体详见:http://tools.ietf.org/html/rfc2315
4.msg为消息体明文,格式为XML
5.msg_encrypt = Base64_Encode( AES_Encrypt[random(16B) + msg_len(4B) + msg + $CorpID] ),是对明文消息msg加密处理后的Base64编码。其中random为16字节的随机字符串;msg_len为4字节的msg长度,网络字节序;msg为消息体明文;$CorpID为企业邮的标识