it-swarm.com.de

Android Emulator "Chain Validation Failed" (Kettenvalidierung fehlgeschlagen), der Entwicklercomputer mit selbstsigniertem Zertifikat verbindet

Ich habe ein Android Studio-Projekt, das einen webbasierten API-Dienst aufruft. Wenn der Dienstcode in dev, qa, prod usw. ist. Es gibt KEINE Zertifikatprobleme, aber wenn versucht wird, die Web-API-Entwickler zu erreichen Box zum Testen eines neuen Features/Bugfixes/etc. bekomme ich:

Keine Antwort wegen Fehler:

javax.net.ssl.SSLHandshakeException: Kettenvalidierung fehlgeschlagen

at com.Android.org.conscrypt.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.Java:361)

Ich ließ das selbstsignierte Zertifikat OHNE den privaten Schlüssel DER-codiert vom Service-Entwickler-Computer exportieren. Ich ließ mich auf den Emulator fallen und er "installierte" sich, aber das funktionierte nicht.

Ich habe das gleiche Zertifikat oben genommen und auf die emulierte SD-Karte kopiert. Dann von Sicherheitseinstellungen im Emulator installiert. Gleiches Ergebnis. Kettenvalidierung fehlgeschlagen.

Jetzt sind meine Sicherheits-/Zertifikatkenntnisse sehr grundlegend. Ich denke, der Fehler beschreibt tatsächlich das Problem. Es gibt keine Kette in einem selbstsignierten Zertifikat ... aber ich könnte mich irren.

Wie kann ich das umgehen?

Ich möchte in der Lage sein, meinen Android) Code auszuführen und die Entwickler-Box zum Testen/Debuggen usw. zu drücken.

Ich habe diesen Beitrag nur gelesen, um die Unternehmensumgebung zu nutzen, in der ich die Websites für offenes SSL usw. blockiere.

https://Android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-Android-acts-as-if-cert-isn

Ich greife über eine WebView auf den Dienst zu.

25
GPGVM

Eine Ursache für dieses Problem kann das falsche Datum und die falsche Uhrzeit des Geräts sein

73
DigaoParceiro

Ich bekam

javax.net.ssl.SSLHandshakeException: Chain validation failed

und

Java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date

die für mich funktionierende Lösung bestand darin, den Emulator über Virtual Device Manager -> Dropdown-Menü Aktionen -> Kaltstart jetzt zu erzwingen

14
Caleb_Allen

Schon ein Neustart des Emulators hat diesen Fehler behoben. Halten Sie die Taste Ausschalten im Emulatormenü gedrückt und wählen Sie Neustart.

7
vovahost

Ich weiß, dass dies eine alte Frage ist, aber ich hatte ein ähnliches Problem mit einer völlig anderen Lösung.

Stellen Sie sicher, dass Ihr SSL nicht abgelaufen ist. Nachdem ich dieses Problem behoben hatte, wurde der Fehler "javax.net.ssl.SSLHandshakeException: Kettenvalidierung fehlgeschlagen" nicht mehr angezeigt. Ich hatte andere Probleme, aber das ist ein anderer Thread.

Es klingt nach einer so offensichtlichen Lösung, aber es ist etwas, worüber man nachdenken muss und nicht unbedingt das Erste, woran man denkt.

1
computercarguy

Ich habe alle Daten des Emulators gelöscht und neu gestartet, die App installiert und alles hat funktioniert. Aber andere Lösung gesehen denke ich jetzt, dass es ein Overkill sein könnte.

0
arenaq