【发布时间】:2019-07-25 15:07:18
【问题描述】:
在节点 10 中有一个新方法 generateKeyPair,我正在使用这样的方法:
const { publicKey, privateKey } = crypto.generateKeyPairSync("rsa", {
modulusLength: 4096,
publicKeyEncoding: {
type: "spki",
format: "pem"
},
privateKeyEncoding: {
type: "pkcs8",
format: "pem",
cipher: "aes-256-cbc",
passphrase: "top secret"
}
});
我现在正在尝试使用此 privateKey 从jsonwebtoken 创建一个 jwt:
function createJWT(id) {
return new Promise((resolve, reject) => {
jwt.sign(
{ id: id + "" },
privateKey,
{ algorithm: "RS256", expiresIn: "2h" },
(err, token) => {
if (err) reject(err);
resolve(token);
}
);
});
}
不幸的是,这似乎不起作用:
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
at Sign.sign (internal/crypto/sig.js:83:26)
at Object.sign (/Users/francoisbillioud/Documents/Tests/SimpleQL/node_modules/jwa/index.js:76:45)
at jwsSign (/Users/francoisbillioud/Documents/Tests/SimpleQL/node_modules/jws/lib/sign-stream.js:32:24)
at SignStream.sign (/Users/francoisbillioud/Documents/Tests/SimpleQL/node_modules/jws/lib/sign-stream.js:58:21)
at SignStream.<anonymous> (/Users/francoisbillioud/Documents/Tests/SimpleQL/node_modules/jws/lib/sign-stream.js:46:12)
at Object.onceWrapper (events.js:273:13)
at DataStream.emit (events.js:182:13)
at DataStream.<anonymous> (/Users/francoisbillioud/Documents/Tests/SimpleQL/node_modules/jws/lib/data-stream.js:32:12)
at process._tickCallback (internal/process/next_tick.js:61:11)
你可以看看here。
我错过了什么?
【问题讨论】:
标签: javascript node.js jwt