我想利用邮递员来测试需要使用 RSA 加密对输入字段之一进行加密的 REST API。
我看到邮递员提供了require('crypto-js')使用 AES 加密进行加密的功能,但我该库不提供 RSA 加密。如何使用邮递员自动执行 RSA 加密?
流程如下所示:
调用返回 RSA 公钥的 REST API
将 RSA 公钥存储在变量中
在发送之前使用该公钥加密以下请求中的值
小智 0
我编辑了。
你需要https://github.com/digitalbazaar/forge 并编译它,不是来自 cdn,无法工作
从你的脚本加载
1.load script
var server = postman.getEnvironmentVariable("server");
if (!postman.getEnvironmentVariable("forgeJS")) {
pm.sendRequest("http://" + server + "/res/forge.js", function(err, res) {
if (err) {
console.log(err);
} else {
postman.setEnvironmentVariable("forgeJS", res.text());
}
})
}
2.eval script and encrypt
var password = '123456';
var public_key = '-----BEGIN PUBLIC KEY-----\n' +
pm.environment.get("rsaKey") + '\n' +
'-----END PUBLIC KEY-----';
var jsscript = pm.environment.get("forgeJS");
eval(jsscript);
console.info(public_key)
var publicKey = forge.pki.publicKeyFromPem(public_key);
var encryptedText = forge.util.encode64(publicKey.encrypt("123456", 'RSA-OAEP', { // server Java private decrypt
md: forge.md.sha256.create(),
mgf1: {
md: forge.md.sha1.create()
}
}));
postman.setEnvironmentVariable("password", encryptedText);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8723 次 |
| 最近记录: |