web-dev-qa-db-de.com

Durch die Installation des SSL-Zertifikats schlägt der Server beim Neustart fehl

Ich habe mein Zertifikat per E-Mail erhalten und die erforderlichen Dateien erstellt und kopiert. Ich habe meinen Server neu gestartet und die folgenden Fehler erhalten.

[Mi Feb 08 13:02:06 2012] [Fehler] Init: Das Serverzertifikat kann nicht aus der Datei /home/sslcertificates/mydomain.crt.__ gelesen werden. [Mi Feb 08 13:02:06 2012] [Fehler] SSL-Bibliotheksfehler: 218529960 Fehler: 0D0680A8: ASN1-Codierungsroutinen: ASN1_CHECK_TLEN: falscher Tag [Mi Feb 08 13:02:06 2012] [Fehler] SSL-Bibliotheksfehler: 218595386 Fehler: 0D07803A: ASN1-Kodierungsroutinen: ASN1_ITEM_EX_D2I: verschachtelter ASN1-Fehler

Hat jemand irgendwelche Ideen?

22
ORStudios

Eine andere mögliche Fehlerquelle, die diese Fehlermeldung verursacht, ist: Anstelle der Zertifikatsdatei, die ich mit der Zertifizierungsanforderungsdatei verknüpft habe. Erkennbar, wenn Sie die erste Zeile der Datei lesen: Entweder

-----BEGIN CERTIFICATE REQUEST-----

Oder 

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

:-)

20
Heinrich

Situation: Apache 2.4 verwendet das StartSSL-Zertifikat, das ASN-Codierungsfehler generiert.

Problem:

AH02564: Failed to configure encrypted (?) private key <domain>.com:80:0, check /etc/pki/tls/certs/ssl.key

Einige SSL-Aussteller verschlüsseln standardmäßig die SSL-Schlüsseldateien. Stellen Sie daher sicher, dass Sie sie auf dem Server entschlüsseln und vom virtuellen Host aus weiterleiten. 

Geben Sie einfach die Schlüsseldatei ein, um sicherzustellen, dass sie nicht verschlüsselt ist. 

 enter image description here

Entschlüsseln Sie die Schlüsseldatei für die mod_ssl

openssl rsa -in ssl.key -out ssl.key

Fügen Sie für die SSL-Konfiguration im Apache conf (httpd.conf) die folgenden Konfigurationen hinzu und starten Sie den Apache neu. 

 enter image description here

# SSL
<VirtualHost *:443>
    ServerName gajen.com
    SSLCertificateKeyFile /etc/pki/tls/certs/ssl.key
    SSLCertificateFile /etc/pki/tls/certs/ssl.crt
    SSLCertificateChainFile /etc/pki/tls/certs/root.ca.pem
</VirtualHost>

Zur Fehlerbehebung:

  • Debuggen Sie den Apache zuerst tail 50 /var/log/httpd/error_log
  • Debuggen Sie den mod_ssl tail 50 /var/log/httpd/ssl_error_log
12
Gajen Sunthara

In meinem Fall hatte ich die Zertifikate gemischt: SSLCertificateFile hatte private_key und SSLCertificateKeyFile hatten das Zertifikat.

8
cristi

Lassen Sie dies hier, da dies die erste Google-Suche nach dem Fehler ist: Dies kann auch der Fall sein, wenn Sie ein neues passphrase-geschütztes Zertifikat installieren und einfach die Apache-Konfiguration neu laden (anstatt Apache vollständig neu zu starten). Beim Neuladen werden keine Fehler ausgegeben, es wird jedoch auch keine Passphrase verlangt und das Zertifikat kann nicht entschlüsselt werden. 

Sie können das Problem beheben, indem Sie Apache vollständig neu starten, wodurch Sie nach der Passphrase gefragt werden und Sie entschlüsseln können.

5
James Alexander

Problem behoben mit * .key-Datei neu erstellen und Inhalt erneut kopieren und einfügen. 

0
Haruna

Oder Sie müssen vor dem Deaktivieren des alten Kennworts die automatische Eingabe ...

#SSLPassPhraseDialog exec:/etc/ssl/passphrase-script
0

Bei der SSL-Installation in Apache 2.4 sind wir kürzlich mit dem gleichen Fehler konfrontiert - "asn1 encoding routines".

Wir hatten alle Dateien korrekt platziert und in der .conf-Datei korrekt darauf ausgerichtet. Nach einem Tag voller Probleme stellten wir fest, dass das Problem nach der Erteilung des Zertifikats nicht in der Konfiguration lag.

Wir haben die Certificate Signing Request (CSR) mit dem integrierten System des Herstellers erstellt. Dies erlaubte uns, den von uns erstellten Schlüssel einzufügen. Das SSL-Zertifikat, das der Hersteller zurückgegeben hat, sollte diese CSR abbilden, die unserem privaten Schlüssel zugeordnet wurde. Anscheinend passte es nicht. Das von ihnen bereitgestellte SSL-Zertifikat wird der CSR nicht zugeordnet.

Möglicher Grund Die Umwandlung von Key to CSR ist auf der Anbieterseite aufgrund von Unix-Zeilenenden (\ n anstelle von\r\n)/encoding (ANSI/UTF8)/erwarteten neuen Zeilen falsch.

Wir haben CSR selbst mit OpenSSL erstellt und die CSR-Generierung von Anbietern umgangen. Es funktionierte. In unserem Fall haben Sie also die Erstellung des Schlüssels und der entsprechenden CSR mit OpenSSL und die Verwendung dieses Zertifikats zum Generieren des öffentlichen SSL-Protokolls ausgeführt.

OpenSSL-Befehl

openssl req -new -sha256 -key ~/site.com.ssl/site.com.key -out ~/site.com.ssl/site.com.csr
0
Rahul

Ich hatte dieses Problem, weil mir der Inhalt einer IIS-ähnlichen .p7b-Datei gesendet wurde, die in eine E-Mail eingefügt wurde. Es hat die Tags "----- BEGIN CERTIFICATE -----" und "----- END CERTIFICATE -----", genau wie .pem, und der Inhalt verwendet eine ähnlich aussehende base64-Codierung. Ich habe es wie folgt in eine * .pem-Datei umgewandelt:

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

Danach war Apache 2.2 glücklich.

0
Derek