2017-11-25 1 views
0

Ich habe kürzlich meine Website arvandkala.ir zu https verschoben. Das Problem ist, dass einige Benutzer (speziell auf Handy) bekommen SSL pravicy Error der Benutzer mobile Uhr ist in Ordnung, haben keine irgendwelche Daten auf der Website mischen. firefox Fehlercode:SSL-Sicherheitsfehler für einige mobile Benutzer

SEC_ERROR_UNKNOWN_ISSUER 

der Emittent Certum und von firefox vertraut.

enter image description here enter image description here

+0

Siehe https://www.ssllabs.com/ssltest/analyze.html?d=arvandkala.ir, wo die Meldung "Zertifikatskette ist unvollständig" steht und unter "Zertifizierungspfade" auf "Erweitern" klicken. Einige Browser können das fehlende Cert selbst mithilfe von AIA abrufen, einige jedoch nicht. PS: Ein Uhrfehler würde als 'abgelaufen' oder möglicherweise 'ungültig' erscheinen, aber niemals 'unbekannt'. –

+0

@ dave_thompson_085 danke für den Kommentar, ich sehe Kette ist unvollständig, aber wie man das löst. Ich teste mehrere Wege, aber noch nicht gelöst. bitte Hilfe :) – Radian

Antwort

1

TLDR: es ist die Kette cert

Sie müssen die richtige Ketten cert aus der CA und konfigurieren Sie es in Ihrem Server zu erhalten.

Normalerweise stellt eine CA das korrekte Ketten-Cert (oder manchmal Certs Plural) zur Verfügung, wenn Sie Ihr Serverzertifikat kaufen oder erhalten, und stellt auch alle seine Kettenzertifikate (normalerweise mehrere) auf seiner Website zur Verfügung, aber da weiß ich nicht Polnisch und kenne keine Kunden Ihrer CA certum.pl Ich kann diese Ansätze hier nicht ansprechen. Heutzutage ist eine gebräuchliche Alternative, dass das Cert selbst eine Möglichkeit angibt, sein übergeordnetes Zertifikat im caIssuers Attribut in der AuthorityInfoAccess Erweiterung zu erhalten. Dies kann mit vielen Tools gesehen werden, einschließlich (zumindest) Desktop-Browsern, OpenSSL (x509 -noout -text -in $file) und Java-Keytool (-printcert -v -file $file), und Ihr Cert hat es und zeigt auf http://repository.certum.pl/dvcasha2.cer. Das Holen dieser URL mit einem Werkzeug, das den Inhalt nicht interpretiert (d. H. Kein Browser, aber Dinge wie curl wget perl python oder javascript) ergibt das korrekte cert im DER-Format.

Die Konfiguration Ihres Servers hängt sehr vom Server ab, den Sie nicht identifiziert haben. Ihr Server identifiziert sich in einer Antwort als Server: Apache/2.4.7 (Ubuntu), aber dies könnte verfälscht werden, weil einige Leute dies als eine gute Möglichkeit betrachten, Angreifer zu verwirren (nicht sehr) oder irren, weil ein anderer Terminator vorne liegt. Wenn es wahr ist, obwohl es andere Möglichkeiten gibt, nehme ich den allgemeinen Standard mod_ssl an. Die documentation for Apache 2.4 mod_ssl befindet sich auf der Apache-Website unter docs/2.4/modules/mod_ssl. Wie auf dieser Seite für 2.4.8 angegeben, können Sie das Kettenzertifikat im PEM-Format mit dem Server-Zertifikat in der von SSLCertificateFile angegebenen Datei einschließen, aber darunter müssen Sie beide in eine Datei einfügen, die stattdessen von SSLCertificateChainFile angegeben wird. Diese Konfiguration (Zertifikat einschließlich Kette, plus privater Schlüssel) kann per virtualhost sein, oder wenn sie nicht anders sein müssen, kann sie global sein. Unter Ubuntu ist die übliche Praxis (obwohl nicht obligatorisch), jede virtualhost-Konfiguration in eine separate Datei unter /etc/apache2/sites-available zu setzen und sie unter zu verknüpfen.

Da das von der Zertifizierungsstelle erhaltene Zertifikat im DER-Format vorliegt, müssen Sie es zuerst in das PEM-Format konvertieren. Dies kann direkt von OpenSSL mit openssl x509 -inform der -in $derfile -out $pemfile oder von zahlreichen anderen Programmen geschehen, die das DER-Format importieren und dann das PEM-Format (einschließlich mindestens Windows, Firefox/NSS und Java) ausgeben können.

Verwandte Themen