gpt4 book ai didi

node.js - 将受密码保护的私钥与 crypto.createSign 一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:52 25 4
gpt4 key购买 nike

我正在尝试使用 node.js 加密 API 和密码保护的私钥来签署和验证消息,这让我得到了这个:

> var sig = crypto.createSign('RSA-SHA256').update('psst').sign(pk,'hex');
Enter PEM pass phrase:

此时 Node 刚刚锁定。我似乎找不到以编程方式传递密码的选项。

最佳答案

更新:我在核心中修复了这个问题

我对此的修复只有 landed in core , 它还没有正式发布,但是当它发布时 你可以像这样使用它:

var sig = crypto.createSign('RSA-SHA256').update('psst').sign({
key: pk,
passphrase: 'password'
}, 'hex');

将在发布后进行更新。 发布在 v0.11.8 版本中。

原答案:

这里有一个可行的解决方案,您可以在应用启动时解密私钥,然后正常使用它,例如:

var  childProcess = require('child_process'),
crypto = require('crypto');

var pk;

var sign = function () {
var sig = crypto.createSign('RSA-SHA256').update('psst').sign(pk,'hex');
console.log(sig);
};

childProcess.exec('openssl rsa -in /path/to/private_key -passin pass:your_password', {},
function (err, stdout, stderr) {
if (err) throw err;
pk = stdout; // Save in memory for later use
sign();
});

关于node.js - 将受密码保护的私钥与 crypto.createSign 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11878243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com