使用 JCEKS 密钥库在 NodeJS 中解密令牌

Decrypting a token in NodeJS with a JCEKS keystore

在这种情况下,我使用 JCEKS 密钥库中的一个密钥在源头加密令牌。令牌进入 NodeJS 服务器,在那里应该未加密以使用其中的数据。据我了解,无法从该格式中提取用于解密令牌的私钥,因此仅使用加密模块对其进行解密是行不通的。我玩过 node-keytool,并根据此处的示例列出了密钥:https://github.com/FrankGrimm/node-keytool/blob/master/examples/listcontent.js.

但是,我完全不知道如何使用该模块来解密令牌。任何有关如何这样做的建议,无论是使用该模块还是其他模块,都将不胜感激。

这似乎是做不到的,或者至少在没有大量工作的情况下是做不到的。在 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};