2012-03-27 21 views
4

Ich habe das selbstsignierte Serverzertifikat, den privaten Serverschlüssel und das Zertifikat der Zertifizierungsstelle mit den folgenden Befehlen erstellt.Apache2 + OpenSSL, Zertifikat CA

openssl genrsa -out ca.key 2048 
openssl req -config openssl.cnf -new -x509 -days 365 -key ca.key -out ca.crt 
openssl genrsa -out server.key 2048 
openssl req -config openssl.cnf -new -key server.key -out server.csr 
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt 

Ich habe sie dann zu httpd-ssl.conf mit dem folgenden hinzugefügt.

SSLCertificateFile "C:/Apache2/conf/server.crt" 
SSLCertificateKeyFile "C:/Apache2/conf/server.key" 
SSLCertificateChainFile "C:/Apache2/conf/ca.crt" 

Doch wenn https://localhost Besuch erhalte ich: -

Sichere Verbindung ist ein Fehler fehlgeschlagen während einer Verbindung zu localhost aufgetreten. Peer-Zertifikat hat eine ungültige Signatur. (Fehlercode: sec_error_bad_signature) Die Seite, die Sie anzeigen möchten, kann nicht angezeigt werden, da die Authentizität der empfangenen Daten nicht verifiziert werden konnte. * Bitte kontaktieren Sie die Website-Besitzer, um sie über dieses Problem zu informieren.

Irgendwelche Ideen jemand?

Dank

Normale nicht vertrauenswürdige Fehler localhost verwendet ein ungültiges Sicherheitszertifikat. Das Zertifikat ist nicht vertrauenswürdig, da es selbstsigniert ist.

Mein CA-Zertifikatfehler Bei einer Verbindung zu localhost ist ein Fehler aufgetreten. Peer-Zertifikat hat eine ungültige Signatur.

+0

Welchen allgemeinen Namen (CN) haben Sie bei der Erstellung Ihres Zertifikats verwendet? –

+0

Für sowohl den Server und ca ich verwendet localhost – TSUK

Antwort

11

Versuchen Wieder Erzeugen Sie Ihr Zertifikat auf diese Weise:

openssl genrsa -des3 -out server.key 2048 
openssl req -new -key server.key -out server.csr 

Dann das Passwort aus dem Zertifikat-Server entfernen Apache zum Vermeiden Sie das Passwort jedes Mal fragen Sie ihn neu starten:

cp server.key server.key.org 
openssl rsa -in server.key.org -out server.key 

Und dann erstellen Sie Ihr selbstsigniertes Zertifikat

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

Nach, jus t Geben Sie SSLCertificateFile und SSLCertificateKeyFile an, um Ihr neues Zertifikat zu verwenden.

1

Da selbstsignierte Zertifikate keine vertrauenswürdige Stammzertifizierungsstelle haben, müssen Sie sie der vertrauenswürdigen CA-Liste des Browsers hinzufügen. Ein Browser kann ein unversorgtes Zertifikat nicht überprüfen.

+1

Ich denke, mein Fehler kann eine Konfiguration sein, im Gegensatz zu meinem Zertifikat selbst signiert.Ich habe SSLCertificateChainFile "C: /Apache2/conf/ca.crt" nie für selbstsignierte Zertifikate verwendet, aber wenn ich ca.crt nicht benutze und ein non-cort erzeugt, funktioniert es perfekt. – TSUK

0

Dies ist, weil es ein selbst signiertes Zertifikat ist. Um diese Meldung zu vermeiden, müssen Sie sich verifizieren lassen und ein Zertifikat von vertrauenswürdigen Zertifizierungsstellen wie Verisign, GoDaddy, etc. Kaufen. Sie können auch versuchen, das kostenlose Zertifikat von COMODO Instant SSL

Da Sie nur auf localhost testen, machen Sie sich keine Sorgen über die Warnung. Aber bei der Produktion könnte dies Ihre Benutzer abschrecken.

+2

Normalerweise auf einem nicht-CA nicht vertrauenswürdigen Zertifikat bekomme ich den Fehlercode: sec_error_untrusted_issuer aber Fehlercode: sec_error_bad_signature erlaubt mir nicht, eine Ausnahme hinzuzufügen. Kannst du sehen, ob ich einen Konfigurationsfehler gemacht habe? – TSUK

Verwandte Themen