Nginx ssl - SSL: Fehler: 0906D06C: PEM-Routinen: PEM_read_bio: keine Startzeile

10

Ich versuche, SSL auf einem Server mithilfe eines Zertifikats von 123-reg zu aktivieren, erhalte jedoch weiterhin die folgende Fehlermeldung:

nginx: [emerg] SSL_CTX_use_certificate_chain_file("/opt/nginx/conf/cleantechlms.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)

Dies ist meine Nginx-Konfiguration:

server {
  listen 443;
  server_name a-fake-url.com;
  root /file/path/public;   
  passenger_enabled on;

  ssl on;
  ssl_certificate /opt/nginx/conf/cleantechlms.crt;
  ssl_certificate_key /opt/nginx/conf/cleantechlms.key;
 }

Ich habe versucht, mein CRT und meinen Schlüssel auf die vollständigen Dateiberechtigungen einzustellen, aber es gibt keinen Unterschied.

Meine CRT-Datei ist die CRT, die mir in Verbindung mit der CA-CRT ausgestellt wurde.

Aktualisieren

Ich habe versucht, beide Schlüssel in einzelne Dateien zu kopieren und dann 'cat mykey.crt >> ca.cert' auszuführen.

Außerdem habe ich versucht, die Schlüssel manuell in dieselbe Datei zu kopieren.

Irgendwelche Ideen?

Alex
quelle
Dein /opt/nginx/conf/cleantechlms.crtist irgendwie kaputt. Wie hast du es geschaffen? Könnten Sie alle Schritte posten, die Sie getan haben?
VBart
In cleantechlms.crtSie wollen nur Ihr öffentliches Zertifikat ohne Schlüssel und Kettenzertifikate von Ihrem ca. haben Wenn Sie es im Texteditor öffnen, sollten Sie nur --BEGIN-CERTIFICATE-- Blöcke sehen ..
Woche

Antworten:

6

Vielen Dank für Ihre Hilfe, so habe ich es gelöst:

  • Kopieren Sie die Zertifikate in einen Texteditor, um sicherzustellen, dass keine Leerzeichen vorhanden sind (ich hatte dies bereits getan).

  • Stellen Sie sicher, dass sich die Anweisungen für den Anfang und das Ende des Zertifikats in einer eigenen Zeile befinden und an jedem Ende die gleiche Anzahl von '-' haben.

  • Stellen Sie sicher, dass jede Zeile 64 Zeichen enthält (mit Ausnahme der letzten Zeile).

Alex
quelle
Ich habe auch den Fehler bekommen, als die .cer-Datei nur das Zertifikat der obersten Ebene und nicht die gesamte gebündelte / Kette von Zertifikaten (Zwischen- und
Stammzertifikat
0

Am Ende hatte ich dieselbe Ausnahme und konnte sie beheben, indem ich einen privaten Schlüssel (x.509 + privater Schlüssel am Ende) in derselben PEM-Datei (PEM-Format) hinzufügte. Ich denke, das liegt daran, dass ich früher das gleiche Format hatte und die Konfiguration mit "nignx -t" validierte.

Ich hoffe es hilft.

BalaMurugan Mahendran
quelle