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?


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).


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.