Zertifikat wird vom PC, aber nicht von Android vertraut
Seit heute morgen mein Zertifikat nicht vertrauenswürdig ist, nicht mehr auf Android und dann meine Anwendung nicht mehr verbinden:
Catch exception while startHandshake: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
return an invalid session with invalid cipher suite of SSL_NULL_WITH_NULL_NULL
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:137)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:381)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:591)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:807)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:781)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:770)
Wenn ich versuche bei Google Chrome (auf dem PC) es gibt kein problem und das Zertifikat vertrauenswürdig ist, aber wenn ich versuche im Chrome-browser auf Android, sagt es mir das Zertifikat ist nicht vertrauenswürdig. Was kann ich tun?
InformationsquelleAutor der Frage Alexis | 2012-07-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es fehlt ein Zwischenzertifikat in Ihre cert-Datei. Wenn Sie bereits besucht haben einer anderen website, welche die gleiche Zertifikat Verkäufer, das intermediate-Zertifikat ist, erinnerte in Ihrem browser. Könnte dies nicht - oder noch besser - nicht der Fall mit jedem Besucher Ihrer website. Zu lösen fehlende intermediate-Zertifikat in die SSL-Verbindung, müssen Sie das Zwischenzertifikat zu Ihrem eigenen Zertifikat-Datei.
GoDaddy hat ein paar Infos auf die intermediate-Zertifikate (aber die beste Quelle ist immer der Zertifikat-Anbieter):
http://support.godaddy.com/help/article/868/what-is-an-intermediate-certificate
Ich hatte auch mal dieses Problem einer intermediate-cert (mit Commodo) und kombinieren musste, meine eigenen cert-Datei mit der intermediate CA ' s zu arbeiten. Sobald kein Fehler mehr gekommen.
Installation instructions per webserver von Godaddy: http://support.godaddy.com/help/article/5346/installing-an-ssl-server-instructions?locale=en
Und hier ist eine Liste der häufigsten installation guides von Commodo sich selbst:
https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/1145/0/how-do-i-make-my-own-bundle-file-from-crt-files
Je nachdem, welchen webserver Sie verwenden, müssen Sie angeben, alle Zertifikate (domain-Zertifikat, intermediate und root), oder kombinieren Sie Sie in eine (zB für Nginx) in der Reihenfolge:
Einen einfachen Weg, dies zu tun, in einem SSH-terminal durch Eingabe von:
Certificate test-tool
Wenn Sie Probleme weitere Probleme haben oder unsicher sind, ob das Zertifikat korrekt ist, versuchen Sie bitte ein online-tool, um zu überprüfen Sie Ihr SSL-Zertifikat. Zum Beispiel: https://www.networking4all.com/en/support/tools/site+prüfen/
SNI-Unterstützung für android 2.2 und niedriger
Bitte beachten Sie android 2.2 (und wohl auch ältere) nicht unterstützt SNI, die es gestattet, mehrere SSL-Zertifikate für unterschiedliche Hostnamen zu arbeiten, ohne Probleme auf einer einzigen IP-Adresse. Dank @technyquist für die Bereitstellung dieser Informationen. Bitte überprüfen Sie dieser Frage ALSO über SNI für weitere Informationen zu diesem Thema.
InformationsquelleAutor der Antwort Luceos
Müssen Sie einen crt-bundle, dann wird es in Ordnung sein. Sie erhalten drei crt-Dateien. Sie alle verwenden! Wenn Sie nur die domain.crt-dann wird die Warnung auf android aber nicht auf dem PC.
Bin ich auf nginx. Ich öffnete Domänenname.crt und öffnete dann positivesslca2.crt, wählen Sie alle und kopieren Sie diese auf das Ende der Domänenname.crt. Dann öffnen AddTrustExternalCARoot.crt, Kopie an das Ende der Domänenname.crt wieder. Dann installieren Sie den Domänenname.crt
funktioniert gut.
InformationsquelleAutor der Antwort dallas
Hinzufügen dieses hier, da es vielleicht jemand helfen. Ich hatte Probleme mit Android zeigt das popup und ungültige Zertifikat Fehler.
Haben wir ein Comodo Extended Validation-Zertifikat, und wir erhalten die zip-Datei enthaltenen Dateien (4:
Ich verkettete zusammen auf einer Zeile etwa so:
cat www_mydomain_com.crt COMODORSAExtendedValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt >www.mydomain.com.ev-ssl-bundle.crt
Dann habe ich das bundle-Datei, wie meine
ssl_certificate_key
im nginx. Das ist es, funktioniert nun.Inspiriert von diesem gist: https://gist.github.com/ipedrazas/6d6c31144636d586dcc3
InformationsquelleAutor der Antwort k00k
Mit Comodo PositiveSSL wir habe 4 Dateien.
Wenn wir Folgen Sie den Anweisungen auf der comodo-Website - wir würden eine Fehlermeldung erhalten, dass unser Zertifikat fehlte ein intermediate Zertifikat-Datei.
Grundsätzlich die syntax ist
InformationsquelleAutor der Antwort Mathew
Ich habe mir vor kurzem ren, in dieser Ausgabe mit Commodo cert, die ich gekauft bei ssls.com und ich habe 3 Dateien:
domain-Namen.ca-bundle-domain-Namen.crt und domain-Namen.p7b
Ich habe, um es einzurichten auf Nginx und dies ist der Befehl, den ich ran:
Dann habe ich commodo-ssl-bundle.crt innerhalb der Nginx-config-Datei und funktioniert wie ein Charme.
InformationsquelleAutor der Antwort somecallitblues
Ich hatte das gleiche Problem und mein Problem war, dass das Gerät nicht mit dem richtigen Datum und Uhrzeit. Sobald ich fest, dass das Zertifikat vertrauenswürdig ist.
InformationsquelleAutor der Antwort Boon
Begegnete ich das gleiche Problem unter Apache 2.2, wenn ich versuche zu verwenden, mehrere
SSLCertificateChainFile
Richtlinien für die einzelnen intermediate cert; stattdessen musste ich verketten Sie alle drei in einer einzigen Datei. Kommt von GoDaddy, wo Sie getan hatte, das für mich als ein "Bündel" dieser zusätzliche Schritt war für mich neu, aber eine re-Lektüre von die Apache-Dokumentation machte dies deutlich.Erwähnenswert ist, das diese Richtlinie ist veraltet, wie der Apache-2.4.8 da kann man nun verketten Sie alle Zwischenprodukte, die mit der tatsächlichen cert.
InformationsquelleAutor der Antwort rymo
Ich hoffe ich bin nicht zu spät, diese Lösung hier für mich gearbeitet, ich bin mit COMODO SSL, die oben genannten Lösungen scheinen unwirksam Laufe der Zeit, meine website lifetanstic.co.ke
Statt der Kontaktaufnahme Comodo-Support und gewinnen Sie ein CA-bundle-Datei, können Sie Folgendes tun:
Wenn Sie Ihre neue SSL-Zertifikat von Comodo (per mail) Sie haben eine zip-Datei angehängt ist.
Sie benötigen zum entpacken der zip-Datei und öffnen Sie die folgenden Dateien in einem Texteditor wie editor:
Dann kopieren Sie den text der einzelnen ".crt" - Datei und fügen Sie die Texte oben gegenseitig in die "Certificate Authority Bundle (optional)" Feld.
Danach fügen Sie das SSL-Zertifikat wie gewohnt in das Feld "Zertifikat" und klicken Sie auf "Autofil durch Zertifikat" - Taste und klicken Sie auf "Installieren".
InformationsquelleAutor der Antwort Maina Wycliffe
Mit Godaddy CERT werden Sie wahrscheinlich haben ein
domain.key
gd_bundle_something.crt
und (zufällige alphanumerische Zeichenfolge)4923hg4k23jh4.crt
Müssen Sie Folgendes tun:
cat gd_bundle_something.crt >> 4923hg4k23jh4.crt
Und klicken Sie dann auf nginx verwenden Sie
InformationsquelleAutor der Antwort dazito
Ich hatte das gleiche problem. Ein weiterer Weg, um erzeugen die richtige .crt-Datei ist wie folgt:
Manchmal ein .PEM-Datei mit dem gesamten Zertifikatkette im inneren. Die Datei kann dann so Aussehen....
Wenn Sie entfernen das gesamte
private key
Abschnitt, müssen Sie eine gültige angekettet .crtInformationsquelleAutor der Antwort David Valdivieso
Ich hatte den gleichen Fehler, weil ich nicht ausgestellt, ein Let ' s Encrypt-cert für die www.my-domain.com nur für my-domain.com
Ausstellung auch für die www. und die Konfiguration der vhost laden von Zertifikaten für www.my-domain.com vor der Umleitung zu https://my-domain.com hat den trick.
InformationsquelleAutor der Antwort Adrian Onu
Stellen Sie sicher, dass Sie auch Ihre intermediate crt - (.crt-Datei mit einem bundle.. einige Anbieter nennen es auch bundle-oder ca-Zertifikat).
dann in deinem ssl.conf,
dann starten Sie Ihren webserver :ex für apache verwenden :
InformationsquelleAutor der Antwort Vikalp Veer
könnte sein, dass Sie fehlt das Zertifikat auf Ihrem Gerät.
schauen Sie sich einmal diese Antwort: So installieren Sie Vertrauenswürdige CA-Zertifikat auf Android-Gerät? zu sehen, so installieren Sie die CA auf Ihrem eigenen Gerät.
InformationsquelleAutor der Antwort thepoosh
Ich hatte ein ähnliches problem und schrieb einen ausführlichen Artikel darüber. Wenn jemand das gleiche problem haben, fühlen Sie sich frei zu Lesen meine Artikel.
https://developer-blog.net/administration/ssl-zertifikat-installieren/
Es ist eine ausführliche problem Beschreibung in deutscher Sprache.
InformationsquelleAutor der Antwort Ziagl