2017-10-16 1 views
0

Ich habe eine Express-Instanz und eine unverschlüsselte pfx, die mein Zertifikat und einen verschlüsselten privaten Schlüssel enthält. Wenn ich den pfx in express lade, muss ich kein Passwort angeben, und es funktioniert. Wie erhält die node.js-Instanz Zugriff auf den privaten Schlüssel? Ist der Zugriff auf den unverschlüsselten privaten Schlüssel für https nicht möglich?Express kann .pfx-Datei mit verschlüsseltem privaten Schlüssel ohne das Passwort des privaten Schlüssels verwenden

express Code:

var httpsOptions = { 
    'pfx': fs.readfileSync('./cert.pfx'), 
    'passphrase': '' 
}; 

https.createServer(httpsOptions, expressApp).listen(443, 'example.com'); 

Meine PFX Infos von openSSL sieht wie folgt aus:

openssl pkcs12 -in cert.pfx -info 
MAC Iteration 2048 
MAC verified OK 
PKCS7 Encrypted data: XXXXXXXXXXXX, Iteration 2048 
Certificate bag 
Bag Attributes 
    localKeyID: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
subject=/OU=Domain Control Validated/CN=*.example.com 
issuer=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, 
Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure 
Certificate Authority - G2 
-----BEGIN CERTIFICATE----- 
XXXXXXXXXXX= 
-----END CERTIFICATE----- 
PKCS7 Data 
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048 
Bag Attributes 
    localKeyID: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
Key Attributes: <No Attributes> 
Enter PEM pass phrase: 
Verifying - Enter PEM pass phrase: 
-----BEGIN RSA PRIVATE KEY----- 
Proc-Type: 4,ENCRYPTED 
DEK-Info: DES-EDE3-CBC,XXXXXXXXXXX 

XXXXXXXXXXXXXXXX== 
-----END RSA PRIVATE KEY----- 

Antwort

0

Es stellte sich heraus, sowohl die pfx selbst und den privaten Schlüssel innerhalb der pfx wurden unverschlüsselt gespeichert.

dachte ich fälschlicherweise der private Schlüssel in der pfx verschlüsselt wurde, weil 1.) Ich wurde gesagt, es ist und 2.) und weil das OpenSSL-Paket wird die rohen privaten Schlüssel nicht angezeigt werden, sofern nicht ausdrücklich mit der Option -nodes gesagt

wenn openSSL Displays Enter PEM pass phrase: wie es oben tat, es wurde gefragt, wie die angezeigte Ausgabe zu verschlüsseln: nicht, wie die gespeicherten Schlüssel zu entschlüsseln, wie ich ursprünglich

dachte

Der I richtigen Befehl für oben

gesucht wurde

openssl pkcs12 -in cert.pfx -info -nodes

Verwandte Themen