最近在项目接口测试中使用postman,对于一般的非加密HTTP请求可以很方便直接的测试,但是有些需要签名验签的报文,就需要对报文进行加解密处理,在实际工作过程中,参考了网络上共享的资源,下面对自己工作过程做一次记录,以及自己遇到的问题进行补充。
大体说一下流程:
请求的源报文需要把参数(除sign)按照字母从a-z顺序先进行排序;
对排序后参数的值拼接成字符串即成源字符串;
用对方的RSA私钥对源字符串进行RSA算法加密生产签名sign值;
把该值传递给参数sign,对新的报文进行AES签名得到值作为正式报文中的参数encdata的值;
使用自有RSA公钥对AES密码进行RSA算法签名,得到的值作为正式报文enckey的值,新的报文生产后再发起HTTP请求。
最终的报文结构: