CA-Zertifikatkette konnte nicht konfiguriert werden

7

Ich versuche, SSL auf Fedora mit Apache einzurichten.

In meinem vhost ...

SSLCertificateFile /your/path/to/crt.crt
SSLCertificateKeyFile /your/path/to/key.key
SSLCertificateChainFile /your/path/to/DigiCertCA.crt

Ich hatte es gut mit einem selbstsignierten Schlüssel, kann es aber nicht mit dem DigiCertCA-CRT zum Laufen bringen.

Wenn ich renne

service httpd restart

Es kann nicht gestartet werden. Das bekomme ich in den Logs ...

[Sat Jan 29 07:57:13 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suex$
[Sat Jan 29 07:57:13 2011] [error] Failed to configure CA certificate chain!

Jede Hilfe wäre sehr dankbar!

Vielen Dank

kron
quelle

Antworten:

6

Stellen Sie sicher, dass keine Zertifikate in der Kette fehlen. In der SSLCertificateChainFileDatei sollten zuerst alle Zertifikate in der Reihenfolge von der Zertifizierungsstelle und dann bis zu einem Zwischenzertifikat vorhanden sein, das zum Signieren Ihrer CRT verwendet wurde. Andernfalls wird der Fehler angezeigt.

Wenn Sie keine Zwischenzertifikate haben (auf der Digicert-Seite sieht es so aus, als gäbe es keine http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm ), sollten Sie SSLCACertificateFilestattdessen verwenden

Luchsmann
quelle
Ich weiß nicht, wer Sie herabgestimmt hat, dies ist völlig gültig - die Anweisungen fordern Sie sogar auf, SSLCACertificateFile zu verwenden.
Vielen Dank. Es stellte sich heraus, dass sich am unteren Rand einer der CRT-Dateien nur ein 'X' befand (das ich versehentlich in die Datei eingefügt hatte, als ich Strg + X gedrückt hatte, um die Datei zu schließen. Die Antwort wurde akzeptiert, um nur die Kette richtig zu überprüfen.
kron
Wenn Sie der Meinung sind, dass Sie richtig kopiert und eingefügt haben, überprüfen Sie den Leerraum. Wenn Sie beispielsweise die Hilfeseite Knowledge.verisign.com/support/ssl-certificates-support/… von Verisign / Symantec kopieren, werden in jeder Zeile zwei zusätzliche Leerzeichen eingefügt.
Daniel Sokolowski
"CA first" klingt vage. In der Apache-Dokumentation heißt es, dass die Kette "mit dem ausstellenden CA-Zertifikat des Serverzertifikats beginnt und bis zum Stammzertifizierungsstellenzertifikat reichen kann". Http.apache.org/docs/2.4/mod/… Ein Skript im Kommentar zeigt alle Zertifikate von die Kette, kdecherf.com/blog/2015/04/10/…
Aal GhEEz
5

Ein Update zu einem alten Thread ...

Dies geschah gerade, als ich eine CA-Kettendatei erstellte, indem ich die Zwischen- und Stammdateien .crtzu einer neuen .ca-bundleDatei zusammenfasste. Das Problem war, dass die erste der Zertifikatdateien nicht mit einer neuen Zeile endete, so dass die Zeile "END" und die Zeile der nächsten BEGINZeile wie folgt zusammengefügt wurden

-----END CERTIFICATE----------BEGIN CERTIFICATE----- 

Ich habe gerade die Datei bearbeitet und die neue Zeile eingefügt.

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

Und dann hat es funktioniert.

Paul
quelle
Guter Fang und nützliche Einschränkung. Mit dem Editor können Sie die Textfragmente in "Codeblöcke" einfügen.
Dan Garthwaite
Oh mein Gott, das war mein Problem und ich benutzte nicht einmal ein Bundle, sondern musste nur ein Leerzeichen vor dem Abschlusszertifikat setzen. Das gleiche Zertifikat funktionierte auf einer Windows-Box, jedoch nicht unter Linux. Danke
Ben Brocka
Kopieren und Einfügen von Windows in Linux Vi - und endete mit diesem Problem im Kettenzertifikat - eine großartige Ergänzung zu den Antworten!
Hugh Wood
4

Der obige Fix mag nützlich sein, aber für mich war der Fix folgender:

http://blog.oneiroi.co.uk/openssl/x.509/pcks7/openssl-unable-to-load-certificate-wrong-asn1-encoding-routines-asn1-check-tlen-tag-tasn-dec- dot-c-1319 /

Falls der Link geht:

Das Format ist in diesem Fall p7b (PCKS # 7); Um das Zertifikat mit Apache zu verwenden, müssen Sie es konvertieren.

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

In der resultierenden .cer-Datei legen Sie Ihr x.509-Zertifikat mit den entsprechenden CA-Zertifikaten ab, teilen diese in Ihre relevanten .crt- und ca.crt-Dateien auf und laden sie wie gewohnt in Apache.

Nissan Fan
quelle
2

Nun, das war ursprünglich ein Kommentar zu @lynxman, aber es war zu lang.

Ich hatte gerade dieses Problem mit Let's Encrypt cert mit Arch Linux. Beim Booten nach dem ersten Neustart seit einigen Monaten schlug der httpdDienst mit folgendem Fehler fehl:

 AH01903: Failed to configure CA certificate chain!

Zuerst habe ich versucht, das Zertifikat zu erneuern, da es einfach und kostenlos ist. Mein hatte SSLCertificateChainFiledann ein Zertifikat anstelle von zwei (?) Gelistet. Also habe ich diese Zeile kommentiert:

#SSLCertificateChainFile "/etc/letsencrypt/live/mywebsite.com/chain.pem"

Voila! Es fing gut an. ¯_ (ツ) _ / ¯

Nick
quelle
0

Ich hatte ein ähnliches Problem, als ich beim Speichern des Zertifikats das Digicert-Zwischenzertifikat kopierte. Ich habe versehentlich einige Zeichen in die Zertifikatdatei eingegeben und konnte Apache nicht neu starten, aber als ich die Zeichen entfernte und den Server neu startete, funktionierte es.

praveen
quelle