2016-04-27 8 views
2

Ich verwende openssl-wrapper, ein Nodejs-Paket. Es ist einfach Parameter anzupassen! Aber ich habe einen Fehler, ich kann den Code nicht richtig funktionieren lassen.Wie generiert man einen RSA-Schlüssel mit openssl-wrapper in NodeJS?

Der implementierte Code:

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); 
    }); 

ich diesen Fehler habe:

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: 

Was bin ich? Wie kann ich es funktionieren lassen?

Bitte helfen Sie mir. Vielen Dank !

+1

Nur Raten, aber das Problem ist OpenSSL-Konfigurationsdatei kann nicht gefunden werden. Sie müssen etwas tun wie 'set OPENSSL_CONF = c: \ OpenSSL-Win32 \ bin \ openssl.cfg'. Versuchen Sie, nach [OPENSSL-Konfigurationsdateifenstern] (http://www.google.com/search?q=OPENSSL+configuration+file+windows+site%3Astackoverflow.com) zu suchen, um ähnliche Probleme zu sehen. – jww

+0

Vielen Dank, es hat für mich funktioniert ! In NodeJS setze ich vor dem Aufruf der Funktion eine Variable 'process.env.OPENSSL_CONF =" c: \ OpenSSL-Win32 \ bin \ openssl.cfg "'. Es funktioniert auch gut. – Vunb

Antwort

1

Dank @jww

seinem Führer folgen, wird der Fehler durch die Konfiguration der Umgebungsvariablen aufgelöst:

set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg 

oder die Umgebungsvariable in NodeJS Anwendung festgelegt, bevor die Funktion aufrufen.

process.env.OPENSSL_CONF = "c:\OpenSSL-Win32\bin\openssl.cfg"