Arn*_*sen 8 openssl cryptography node.js
我正在尝试使用node.js加密API和密码保护的私钥来签名并验证消息,这样就可以获得以下信息:
> var sig = crypto.createSign('RSA-SHA256').update('psst').sign(pk,'hex');
Enter PEM pass phrase:
Run Code Online (Sandbox Code Playgroud)
并且节点在此时锁定.我似乎无法找到以编程方式传递密码的选项.
我对此的解决方案刚刚落入核心,尚未正式发布,但是当它发布时,您可以像这样使用它:
var sig = crypto.createSign('RSA-SHA256').update('psst').sign({
key: pk,
passphrase: 'password'
}, 'hex');
Run Code Online (Sandbox Code Playgroud)
一旦发布,它将更新.登陆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();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |