Starfield Wildcard SSL-Zertifikat nicht in allen Browsern vertrauenswürdig

9

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!

Austen Cameron
quelle
Bist du darauf gestoßen? serverfault.com/questions/85737/…
cjc
Hier ist ein Starfield-Zertifikat, das auf der Seite, auf die Sie verwiesen haben, einwandfrei funktioniert. sslshopper.com/ssl-checker.html#hostname=mail.omniweb.com Meine Vermutung ist etwas mit Ihren Konfigurationsoptionen. fwiw in meiner ssl.conf ist das "/path/to/cert/mysite.com.cert" in "Anführungszeichen" eingeschlossen und meine Schlüsseldatei ist ein ".pem", kein ".key"
user16081-JoeT
@cjc Ja, ich habe diesen Beitrag gesehen und versucht, aber es schien keine Wirkung zu haben.
Austen Cameron
@ user16081 Danke für den Link, ich werde versuchen, tiefer in die ssl.conf-Konfiguration einzudringen und zu sehen, ob ich etwas finden kann. Aus Neugier bist du auch auf einem Godaddy VPS oder zumindest auf CentOS 6?
Austen Cameron
CentOS 5, nicht auf Godaddy gehostet
user16081-JoeT

Antworten:

10

Zwei Dinge, die Sie tun können:

  1. Überprüfen Sie die Zwischenkette
  2. Reinigen Sie die Zwischenkette

Ü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 -hashund überprüfen openssl x509 -noout -issuer_hash. Versuchen Sie dies, um den Aussteller-Hash Ihres Zertifikats zu erhalten:

cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash

Versuchen Sie dann, ein Zertifikat mit diesem Hash in der von sf_bundle.crtIhnen angegebenen Datei zu finden SSLCertificateChainFile. Möglicherweise müssen Sie die Zertifikate extrahieren (oder sie einfach kopieren und in den Befehl einfügen):

cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash

Ü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 -hashund 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 -hashgegen die , -issuer_hashwo 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:

-----BEGIN CERTIFICATE-----
cert A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
cert B
-----END CERTIFICATE-----

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 SSLCertificateFileund an SSLCertificateChainFile.

Chutz
quelle
Danke für Ihre Antwort! Ich habe die Zwischenkette (sf_bundle.crt) überprüft und den gleichen Hash wie mysite.com.crt darin gefunden. Ich habe das sf_bundle zum Testen in zwei Dateien aufgeteilt (es waren zwei Zertifikate darin) und festgestellt, dass nur ein Hash mit dem -issuer_hash übereinstimmt. Die Reihenfolge (innerhalb von sf_bundle.crt) war Zertifikat A -> Zertifikat B, wobei Zertifikat A das mit dem Hash übereinstimmende Zertifikat ist. Ich habe versucht, die Reihenfolge dieser zu tauschen, und mit dem SSL-Checker scheint sich nichts zu ändern. Ich entschuldige mich für meine begrenzte SSL-Erfahrung. Vielleicht könnten Sie die Bereinigung der Zertifikate klären? Vielen Dank.
Austen Cameron
Ich habe dies als die richtige Antwort markiert, weil Sie so hilfreich waren. Ich hatte sichergestellt, dass die SSL-Konfigurationszeilen in meiner Datei ssl.conf korrekt waren, aber vergessen, dass ich die Zeile SSLCertificateChainFile im virtuellen Host in httpd.conf benötigte ... so dass dies das Problem war.
Austen Cameron