Ich weiß nicht, was ich sonst noch versuchen könnte, um dieses Problem mit einem Starfield Wildcard SSL-Zertifikat zu beheben.
Das Problem ist, dass in bestimmten Browsern (Safari oder das aktuellste Chrome, das Sie beispielsweise für OS X 10.5.8 erhalten können) das Zertifikat selbst in der Stammdomäne als nicht vertrauenswürdig angezeigt wird.
Meine Server-Setup- / Hintergrundinformationen:
- Allgemeines LAMP-Setup - CentOS 6.3 - auf einem Godaddy VPS
- Starfield Technologies Wildcard SSL-Zertifikat
- Installiert gemäß den Anweisungen auf den Support-Seiten von Godaddy
ssl.conf-Zeilen lauten grundsätzlich wie folgt:
SSLCertificateFile /path/to/cert/mysite.com.cert
SSLCertificateKeyFile /path/to/cert/mysite.key
SSLCertificateChainFile /path/to/cert/sf_bundle.crt
Alles schien gut zu funktionieren, bis ich neulich Nacht das Problem in OS X bemerkte. Ich gehe davon aus, dass es mehr mit der Browserversion zu tun hat, aber ich konnte es nur auf diesem bestimmten Computer replizieren.
Was ich versucht habe:
- Aktualisieren von sf_bundle.crt aus dem Zertifikat-Repository von Godaddy und den Repository-Versionen von Starfield
- Nach dieser ServerFault-Antwort von Jim Phares - Ändern der ChainFile-Zeile in sf_intermediate.crt aus dem Starfield-Repository
- Verwenden von http://www.sslshopper.com/ssl-checker.html für meine URL
- Es heißt, dass die Domäne korrekt im Zertifikat aufgeführt ist, aber ein Fehler mit der Aufschrift " Das Zertifikat ist nicht in allen Webbrowsern vertrauenswürdig" angezeigt wird. Möglicherweise müssen Sie ein Zwischen- / Kettenzertifikat installieren, um es mit einem vertrauenswürdigen Stammzertifikat zu verknüpfen.
Was kann ich als Nächstes versuchen, um das Problem mit nicht vertrauenswürdigen Zertifikaten zu beheben?
Lassen Sie mich wissen, ob weitere Informationen erforderlich sind, die zum Debuggen dieses Problems beitragen können. Danke im Voraus!
Lösung:
My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!
quelle
Antworten:
Zwei Dinge, die Sie tun können:
Überprüfen Sie die Zwischenkette
Wie der Fehler zu zeigen scheint, hat Ihre Zwischenzertifikatskette etwas an sich. Sie sollten überprüfen, woher Sie Ihr Zertifikat haben und ob Sie das richtige Zwischenpaket erhalten haben.
Sie sollten den "Hash" und den "Aussteller-Hash" jedes Zertifikats in der Kette mit den Befehlen
openssl x509 -noout -hash
und überprüfenopenssl x509 -noout -issuer_hash
. Versuchen Sie dies, um den Aussteller-Hash Ihres Zertifikats zu erhalten:Versuchen Sie dann, ein Zertifikat mit diesem Hash in der von
sf_bundle.crt
Ihnen angegebenen Datei zu findenSSLCertificateChainFile
. Möglicherweise müssen Sie die Zertifikate extrahieren (oder sie einfach kopieren und in den Befehl einfügen):Überprüfen Sie alle. Wenn keiner diesen Hash hat, stimmt genau dort etwas nicht. Führen Sie diese Überprüfungen so lange durch, bis Sie ein Zertifikat mit demselben
-hash
und finden-issuer_hash
. Dies ist Ihr Stammzertifikat.Wenn etwas fehlt, können Sie die anderen Zwischendateien hier https://certs.starfieldtech.com/anonymous/repository.seam überprüfen . Laden Sie diese und vergleichen Sie die
-hash
gegen die ,-issuer_hash
wo Sie stecken geblieben.Wenn alles in Ordnung ist, dann ....
Reinigen Sie die Zwischenkette
Ich habe gesehen, dass dies auch hilft, wenn Sie seltsame Validierungsfehler erhalten. Stellen Sie sicher, dass Ihre Zwischenkette nur die erforderlichen Zertifikate in der richtigen Reihenfolge auflistet (es ist einfacher, wenn sie im PEM-Format vorliegt). Mit anderen Worten, wenn Ihre Kette ist
Your cert -> cert A -> cert B -> Starfield Root cert
. Versuchen Sie, diese in dieser Reihenfolge anzuhängen (Sie können die erste und die letzte überspringen), damit Ihre Zwischenkette ungefähr so aussieht:Ich persönlich möchte alle diese Zertifikate (persönliches Zertifikat, gefolgt von Zwischenzertifikaten, gefolgt vom Stammzertifikat) in derselben Datei aufbewahren. Dann gebe ich diese Datei einfach als
SSLCertificateFile
und anSSLCertificateChainFile
.quelle