2016-05-05 5 views
2

Sorry, aber ich habe keine Erfahrung mit Zertifikaten und SSL, vor allem in Node.js. Ich brauche Optionen für express konfigurieren:Laden Sie Zertifikat und privaten Schlüssel für SSL in Node.js

var https = require('https'); 
var options = { 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('csr.pem') 
}; 
https.createServer(options, my_app).listen(3000); 

und wenn ich versuche, mit selbst generierten Zertifikate (von openssl) alle Arbeiten wie ein Charme.

Jetzt muss ich die selbsterzeugten Zertifikate mit den echten Zertifikaten für meine Domäne ändern. In Plesk Ich habe 3 Zertifikate: ein CSR, ein private Schlüssel (.key) und Zertifikat ( .crt) im Textformat, und diese Zertifikate arbeiten bereits an der Plesk Konfiguration von meinem Server, also sind sie in Ordnung.

Also, was muss ich jetzt tun? Welche davon ist die key.pem und welche ist die csr.pem?

Sorry, aber ich weiß nicht, kann mir jemand erklären?

+0

Siehe auch [Node.js | TLS (SSL)] (http://nodejs.org/api/tls.html) Dokumentation. – jww

+0

Mögliches Duplikat von [SSL node.js-Server mit godaddy gd_bundle.crt ausführen] (http://stackoverflow.com/q/16224064). Die CA kann unterschiedlich sein, aber die Schritte sind im Grunde die gleichen. Sie müssen den Node.js-Server konfigurieren, um die für die Pfadbildung erforderlichen Zwischenzertifikate auf dem Client zu senden. Der Node.js-Server sendet das CA-Zertifikat * nicht *. Der Kunde muss es haben und ihm vertrauen. – jww

+0

Danke für die Bearbeitung @jww –

Antwort

1

Es sollte sein:

key: fs.readFileSync('FILENAME.key'), 
cert: fs.readFileSync('FILENAME.crt') 

CSR ist die Anforderung, die Sie an die vertrauenswürdige dritte Partei senden ein signiertes Zertifikat zu erhalten. Sie erhalten ein Zertifikat von der vertrauenswürdigen dritten Partei zurück, und das verwenden Sie mit dem privaten Schlüssel in NodeJS.

+0

Um den Server ordnungsgemäß zu konfigurieren, muss der Server die Kette und nicht nur das End-Entity-Serverzertifikat senden. – jww

+0

@jww kannst du erklären, was du für "die Kette" meinst? –

+1

Es gibt eine gute Erklärung hier https://www.entrust.com/chain-certificates/. Sie können dieses "Ketten" -Zertifikat von dem Drittanbieter erhalten, der Ihr Zertifikat ausgestellt/signiert hat. Normalerweise können Sie sie von demselben Speicherort herunterladen, an dem Sie Ihre .crt/.cer heruntergeladen haben. – shokulei

Verwandte Themen