Daher wurde mir ein neues öffentliches Zertifikat zur Installation auf einem Server (.crt-Datei) gesendet. Erledigt. Starten Sie Apache neu - "FAILED".
Fehlermeldung:
[Tue Jan 11 12:51:37 2011] [error] Unable to configure RSA server private key
[Tue Jan 11 12:51:37 2011] [error] SSL Library Error: 185073780 error:0B080074:
x509 certificate routines:X509_check_private_key:key values mismatch
Ich habe die Schlüsselwerte überprüft:
openssl rsa -noout -modulus -in server.key | openssl md5
openssl x509 -noout -modulus -in server.crt | openssl md5
und sie passen zusammen.
Ich habe die Pfade in meiner ssl.conf-Datei geprüft und sie zeigen auf die richtigen Dateien.
Wenn ich die alte (abgelaufene) cert-Datei wieder einsetze, startet Apache in Ordnung, so dass der neuen Datei definitiv nichts gefällt.
Es ist eine GeoTrust QuickSSL, und es kam mit einer "intermedi..crt", die ich anstelle der "ca-bundle.crt" -Datei verwenden sollte, die ich zuvor verwendet habe
SSLCertificateFile /etc/pki/tls/certs/www.domain.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.domain.com.key
SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
Irgendwelche Ideen, was ich falsch machen könnte? Noch mehr Infos, die Sie brauchen?
Vielen Dank!
Ich bin auch auf den gleichen Fehler gestoßen. In meinem Fall musste ich zusätzliche CA-Zertifikate in der Verifizierungskette angeben. Statt das Zertifikat und den Schlüssel in separaten Dateien bereitzustellen, kombinierte ich sie in einer PEM-Datei.
Wenn Sie dies tun, ist jedoch die Reihenfolge des Schlüssels und des Zertifikats sowie des dazwischenliegenden Schlüssels wichtig. Die richtige Reihenfolge:
your private key
your certificate
(intermediate) CA certificate lowest in the hierarchy
other CA certificates higher in the hierarchy...
(intermediate) CA certificate highest in the hierarchy
Bei der erneuten Ausstellung meines über SSL-Zertifikats erworbenen Rapid-SSL-Zertifikats für den Heartbeat-Fehler wurde das neue Zertifikat immer gegen den privaten Schlüssel ausgestellt, der für die vorherige CSR-Anforderung verwendet wurde. Nach ungefähr der fünften Neuausgabe sorgte die Kombination mit dem im vierten Neuausstellungsversuch verwendeten privaten Schlüssel dafür, dass alles reibungslos funktionierte.
Für alle anderen, die damit zu kämpfen haben ...
Ich hatte vor kurzem dasselbe Problem auf einem meiner CentOS 6.5-Server und es lag an der Zeit, als ich den KEY und den CSR generierte.
Ich habe drei Sites, die auf diesem Server in virtualhosts ausgeführt werden, alle mit dedizierten IPs, und jede Site verfügt über ein eigenes SSL-Zertifikat.
Bei einem Rush beim Ändern eines der Zertifikate bin ich dumm nur den Anweisungen des Zertifikatsanbieters gefolgt, um die CSR zu erwerben und in Apache zu installieren, und ich wurde angewiesen, den folgenden Befehl zu verwenden:
openssl req -new -newkey rsa:2048 -nodes -keyout domain-name-here.key -out domain-name-here.csr
Nach der Installation des neuen Zertifikats sah ich dann auch, dass Apache nicht startete und dieselben Fehler in /var/log/httpd/ssl_error_log
:
[error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
[error] Unable to configure RSA server private key
Was ich eigentlich hätte tun sollen, war, meine .bash_history
-Dateien zu überprüfen, da ich dies in CentOS schon viele Male erfolgreich durchgeführt habe.
Ich hätte stattdessen diese beiden Befehle ausführen sollen:
openssl genrsa -des3 -out domain-name-here.co.uk.key 2048
openssl req -new -key domain-name-here.co.uk.key -out domain-name-here.co.uk.csr
Anschließend wurde der CSR und der Schlüssel erfolgreich generiert. Ich beantragte das Zertifikat erneut mit dem neu gewonnenen CSR, wendete das neue Zertifikat an und fügte die neue Schlüsseldatei hinzu. Anschließend wurde Apache sauber gestartet.
Um nur zu bemerken, dass wir nach einer kleinen Konfiguration A + in einem SSL-Labortest bewerten.
stellen Sie sicher, dass alle cert-Dateien mit ANSI
und nicht mit UTF-8
codiert sind.
Für mich sagten alle Tests: key, crt und csr passen zusammen, aber die Protokolle sagen X509_check_private_key:key values mismatch
, bis ich sah, dass eine der Dateien in UTF-8
codiert war.
In meinem Fall hatte ich zwei Sites und zwei unterschiedliche private Schlüssel:
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/some/path/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
Nachdem ich das behoben hatte, wurde die Fehlermeldung geändert, um /some/path/server.pem
zu erwähnen. Beachten Sie den unterschiedlichen privaten Schlüssel, der sich nur in der Dateierweiterung unterscheidet. Ich hatte zwei verschiedene Sites, die mit verschiedenen Schlüsseln verschlüsselt waren (was bedeutet, dass ich die erste Site behoben hatte, jetzt aber die zweite Site reparieren musste). Lesen Sie deshalb die Fehlermeldung sorgfältig durch!
Dynadot scheint die gleichen Probleme mit den RapidSSL-Zertifikaten zu haben, die sie erneut ausstellen. Ich habe gerade ein nicht funktionierendes Zertifikat erhalten, das dann ein anderes Problem mit Apache auslöste. Als das Problem behoben war, fand ich diese Frage und Antwort hier für das ursprüngliche Problem. Ich werde das RapidSSL Cert ausrangieren, da ich trotzdem einige Probleme mit der Client-Kompatibilität habe und stattdessen ein neues von AlphaSSL kaufe.
Gemäß der FAQ auf der Apache-Website müssen der Modul und der öffentliche Exponent für das Zertifikat und der Schlüssel übereinstimmen, damit eine gültige Prüfung erfolgt.
http://httpd.Apache.org/docs/2.0/ssl/ssl_faq.html#verify
Arbeiten Sie, wie Sie und andere bereits gesagt haben, mit dem Zertifizierungsstellenaussteller zusammen
Das kniffligste Bit in meinem Fall ist das Einrichten von SSLCACertificateFile
. Nachdem die Zertifizierungsfirma unser Zertifikat ausgestellt hatte, erhielten wir zwei weitere Zertifikate: ein Zwischenzertifikat und ein Stammzertifikat. Welches für SSLCACertificateFile
? Beide..
So sieht meine Zertifikatskette aus:
Und für SSLCACertificateFile
muss ich digicert_sha2_high_assurance_server_ca.crt und digicert.crt in einer Datei in der genannten Reihenfolge zusammenfassen.
Wir hatten auch ein Problem mit NameCheap, das ausgestellte Zertifikat entsprach der CSR, mit der das vorherige CERT erstellt wurde. Wir informieren sie über ihre Support-Seite und sie sagten, dass sie bereits über das Problem Bescheid wussten.