如何在NodeJS中使用openssl-wrapper生成一个RSA密钥?
我正在使用openssl-wrapper ,一个nodejs包。 很容易定制参数! 但是我得到一个错误,我不能让代码正常工作。
实施的代码:
Q.fcall(function caKey() { var params = { des3: true, passout: 'pass:1234567890', out: key, '1024': false }; console.log("caKey", dataFolder, params); return openssl.qExec('genrsa', params); }).then(function debugOutput(data) { // onFullfill console.log("done", data); }) .catch(function (err) { // get err console.error(err); });
我得到这个错误:
caKey D:/certs-dev { '1024': false, des3: true, passout: 'pass:1234567890', out: 'D:/certs-dev/ca/ca.key' } Wed, 27 Apr 2016 11:40:24 GMT openssl-wrapper > openssl genrsa -des3 -passout pass:1234567890 -out D:/certs-dev/ca/ca.key 1024 15316:error:02001000:system library:fopen:system library:bss_file.c:175:fopen('','rb') 15316:error:2006D002:BIO routines:BIO_new_file:system lib:bss_file.c:180: 15316:error:0E078002:configuration file routines:DEF_LOAD:system lib:conf_def.c:197:
我错过了什么? 我怎样才能使它工作?
请帮帮我。 非常感谢你 !
感谢@jww
按照他的指导,通过configuration环境variables来解决错误:
set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg
或者在调用函数之前在NodeJS应用程序中设置环境variables。
process.env.OPENSSL_CONF = "c:\OpenSSL-Win32\bin\openssl.cfg"
- Cronjobs在node.js中
- 数字海洋部署的Upstart node.js应用程序
- PassportJs。 我怎样才能得到Facebook的redirecturi没有redirect用户后调用passport.authenticate('脸谱')
- 带有Gmail“发件人:地址”的Nodemailer不会更改
- 在MongoDB中使用本地ES6承诺
- 如何使用google-api-nodejs-client为nodejs发送带有gmail api附件的邮件
- 简单地发射的一个套接字和一个易于发射的套接字之间有什么区别?
- 在Node.JS中closuresFirebase连接
- 节点请求ISO-8859-1自节点4以来不工作