我使用的是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:
我缺少什么?我怎样才能使它有效?
请帮帮我。非常感谢你!
答案 0 :(得分:1)
感谢@jww
按照他的指南,通过配置环境变量来解决错误:
set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg
或者在调用函数之前在NodeJS应用程序中设置环境变量。
process.env.OPENSSL_CONF = "c:\OpenSSL-Win32\bin\openssl.cfg"