如何在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"