接口的鉴权方式除了token以外,还会遇到使用RSA加密和签名来处理的请求参数。在使用python完成接口自动化时,可以很方便的利用第三方库rsa,利用需要加密的字节信息和公钥对象用rsa.encrypt生成加密文本,从而得到我们所需要的加密后的信息。
postman相比python就稍微比较复杂了,因为postman作为接口测试工具,多数功能测试者在用,但postman本身不支持rsa加密,在pre-request-script中需要写一定的代码,且需要forgeJS协助。如果不懂代码,那建议寻求开发协助,或者一步步按照以下方式操作即可。
解决方案:
在pre-requests-script中,添加forge模块代码到全局变量中,提取的全局变量(字符串类型)通过eval函数使其在当前环境中执行,利用模块中提供的生成公钥对象和加密方法加密。
本次加密得到的产出物,设置到全局变量中:
1、token前50位+时间戳 ,加密后得到的sign
2、时间戳timestamp
1、下载forge(使用gitbash)
git clone https://github.com/digitalbazaar/forge.git
2、安装f