Ich verwende Apache unter Ubuntu 14.04 und versuche, SSL zu implementieren. Jede Hilfe wäre sehr dankbar.
default-ssl.conf hat:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Wenn ich Apache neu starte, lautet die Fehlermeldung in /var/log/apache2/error.log:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443447 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443458 2015] [ssl:error] [pid 30927] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 01 19:31:06.443468 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443479 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443487 2015] [ssl:emerg] [pid 30927] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more inf$
apache-2.2
ubuntu
ssl
mikesynan
quelle
quelle
Antworten:
WARNUNG: Veröffentlichen Sie Ihren privaten Schlüssel niemals im Internet. Kopieren Sie es nicht einmal auf einen anderen Computer, eine Workstation usw. Es muss so privat wie möglich gehalten werden.
SSLCertificateKeyFile erfordert einen privaten Schlüssel. Dieser Schlüssel wird normalerweise vor CSR oder gleichzeitig generiert. Suchen Sie nach einer Datei, die mit einer Zeile beginnt, die Folgendes enthält:
BEGIN PRIVATE KEY
CSR (Certificate Signing Request) ist nur erforderlich, wenn Sie das Zertifikat signieren möchten. Danach können Sie es verwerfen.
Wenn Sie den privaten Schlüssel verloren haben, müssen Sie einen neuen privaten Schlüssel generieren, dann einen neuen CSR generieren und die Zertifizierungsstelle (Zertifizierungsstelle) bitten, den CSR erneut zu signieren.
quelle
Hier ist das Problem:
Sie haben versehentlich Ihre CSR-Datei (Certificate Signing Request) hier abgelegt. Sie sollten dort die private Schlüsseldatei ablegen, mit der Sie stattdessen die CSR generiert haben. Diese private Schlüsseldatei sollte nicht kennwortgeschützt sein, da Sie sonst jedes Mal, wenn Sie Apache (neu) starten, ein Kennwort eingeben müssen.
Im Folgenden finden Sie eine kurze Zusammenfassung zum Generieren von CSRs mit OpenSSL (ein gutes Tutorial finden Sie in der Ubuntu-Dokumentation ):
1) Generieren Sie den Serverschlüssel:
Dazu müssen Sie ein Passwort angeben.
2) Geben Sie einen passwortlosen privaten Schlüssel ein und geben Sie das oben verwendete Passwort ein, wenn Sie dazu aufgefordert werden:
3) Generieren Sie die CSR mit Ihrem privaten Schlüssel ohne Passwort:
wo "mydomain.org" könnte Ihre Domain sein. Sie müssen einige Fragen interaktiv beantworten. Sobald Sie fertig sind, senden Sie die
mydomain.org.csr
Datei an Ihre Zertifizierungsstelle. Sie erhalten entweder eine*.crt
Datei oder eine*.pem
Datei zurück. Nehmen wir an, sie haben es dir gegebenmydomain.org.crt
. Installieren Sie es als Ihr Zertifikat und die kennwortlose Schlüsseldatei als Ihren Schlüssel (die Speicherorte sind für Ubuntu 14.04 gültig, sie befinden sich möglicherweise an einer anderen Stelle auf anderen Systemen, überprüfen Sie die Apache2-Dokumente):Und schließlich bearbeiten Sie die Apache2-Konfiguration (könnte sein
default-ssl.conf
):Hoffe das hilft.
quelle
Ich weiß, dass jemand diese Frage bereits beantwortet hat, aber ich wollte andere wissen lassen, was mit mir passiert ist, als ich diesen Fehler erhalten habe.
In meiner Sache hatte ich fälschlicherweise SSLCertificateFile anstelle von SSLCertificateChainFile für mein Zertifikatspaket. Dieser Fehler trat immer wieder auf und warf mich auf eine Schleife. Ich dachte immer, mein privater Schlüssel sei falsch.
quelle
Ich weiß, dass dieser Beitrag alt ist, aber ich dachte, ich sollte mehr hinzufügen, da dies der erste Link in einer Google-Suche zu dem Fehler ist - "Init: Privater Schlüssel nicht gefunden"
Ich habe das schon einmal gesehen und es stellte sich heraus, dass es sich um einen schlechten privaten Schlüssel handelte. Ich habe strace verwendet, um den letzten privaten Schlüssel aufzuspüren, den Apache zu laden versucht hat. Nachdem ich es aus dem SSL-Verzeichnis und der httpd.conf entfernt hatte, wurde Apache ohne Probleme neu gestartet.
Ungültiger SSL-Schlüssel: -rw-r ----- 1 root 754974732 1.7K 31. Mai 1987 /var/cpanel/ssl/installed/keys/c129e_4ed23_b7c0d7f821952179fc8006506ab06b72.key
Umgebung: Betriebssystem: CentSO 6.9 Systemsteuerung: cPanel 11.64 Apache Version 2.2
tl;dr: Find the bad private key that Apache is trying to load and backup it up and remove it from Apache's configuration file.
Ich hoffe das hilft!
quelle
code
. Vielen Dank für Ihren Beitrag.Ich habe ein bisschen mit meinen Rädern gedreht, aber stellen Sie sicher, dass Sie eine vollständige private Schlüsseldatei haben. Es stellte sich heraus, dass mir ein paar Zeilen fehlten.
Der Befehl zum Überprüfen Ihres privaten Schlüssels lautet:
Ersetzen Sie /etc/httpd/certs/server.key durch den vollständigen Pfad zum privaten Schlüssel Ihres Servers. Wenn alles in Ordnung ist, sehen Sie:
Hoffe es hilft jemandem und übrigens, mein Server war CentOS 7.6 mit Apache / 2.4.6
quelle