使用JCEKS密钥库解密NodeJS中的令牌
问题描述:
在这种情况下,我使用JCEKS密钥库中的一个密钥在原始位置获取令牌加密。令牌进入一个NodeJS服务器,在那里它应该被解密以使用那里的数据。据我所知,解密令牌的私钥不能从该格式中提取,因此仅仅使用加密模块对其进行解密不会。我已经玩过node-keytool,并且基于这里的例子获取了列出键的信息:https://github.com/FrankGrimm/node-keytool/blob/master/examples/listcontent.js。使用JCEKS密钥库解密NodeJS中的令牌
但是,我完全丧失了如何使用该模块来解密令牌。任何有关如何这样做的建议,无论是使用该模块还是其他模块,都将不胜感激。
答
看起来好像不能做,或者至少不是没有很多工作。更容易在Java中编写解密器,然后在Node中创建模块,如下所示:
const exec = require('child_process')。exec; const fs = require('fs');
const start = function (data, resolve, reject) {
let child = exec('java -jar java/out/artifacts/decrypter_jar/decrypter.jar ' + data,
function (error, stdout, stderr){
console.log('Output -> ' + stdout);
if(stdout){
resolve(stdout);
}
else {
reject('Empty response from JAR');
return;
}
if(error !== null){
console.log("Error -> "+error);
reject(error);
}
});
};
module.exports = {start};