So dass bestimmte SSL-Protokolle mit Android WebViewClient
Meine Anwendung verwendet WebViewClient um SSL-verbindungen zu dem server.
Der server ist so konfiguriert, dass nur akzeptieren, TLSv1.1 und oben genannten Protokollen.
1) Wie kann ich überprüfen, welche SSL-Protokolle sind a) Unterstützt und b) standardmäßig Aktiviert bei der Verwendung von Android WebViewClient auf einem Gerät.
2) Wie kann ich das aktivieren bestimmter SSL-Protokolle für Android WebViewClient Instanz, die verwendet wird in meiner Anwendung.
Auf einem der test-Geräte mit Android 4.3,
WebViewClient wirft onReceivedError Rückruf mit der Beschreibung "Fehler beim ausführen des SSL-handshake"
Chrom-Protokolle sind wie folgt:
01-29 15:58:00.073 5486 5525 W chromium_net: extern/Chrom/net/http/http_stream_factory_impl_job.cc:865: [0129/155800:WARNUNG:http_stream_factory_impl_job.cc(865)] Fallen wieder SSLv3 da host ist TLS intolerant: 10.209.126.125:443 01-29 15:58:00.083 5486 5525 E chromium_net: extern/Chrom/net/socket/ssl_client_socket_openssl.cc:792: [0129/155800:FEHLER:ssl_client_socket_openssl.cc(792)] handshake failed; 0 zurückgegeben, SSL error code 5, net_error -107
Meine Anwendung auch verwendet HttpClient und HttpsUrlConnection Klassen einrichten von SSL-Verbindungen. Ich war in der Lage zu verwenden SSLSocket-API zu ermöglichen, bestimmte Protokolle bei der Verwendung dieser Klassen.
http://developer.android.com/reference/javax/net/ssl/SSLSocket.html#setEnabledProtocols(java.lang.String[])
Muss ich tun das gleiche mit WebViewClient.
Hat jemand jemals herausfinden? Ich arbeite an einem Projekt, das sich derzeit, wo wir brauchen, um fallback von TLS v1.2 1.1 für die drei nicht-Produktions-test-Server. Wir versuchen Sie etwas wie dies: adb shell " echo "browser" --show-fps-counter " --ssl-version-min=tls1.1 --ssl-version-max=tls1.1" > /data/local/tmp/webview-command-line' Der FPS counter zeigt auf ein Android L-tablet, aber nicht auf Android TV (was schon seltsam ist, wie Sie sein sollten der gleichen webview-code). Die ssl-version flags scheinen nicht zu funktionieren; ein tcpdump-Aufzeichnung von " das Gerät zeigt immer noch TLS v1.2 verwendet werden. Jede Hilfe wäre toll.
Fanden Sie die Lösung für das Problem ?? Ich bin auch vor dem gleichen Problem
Nein, ich konnte nicht einen Weg finden, konfigurieren Sie diese im WebViewClient. Ich denke, obige Bemerkung von Robert ist richtig.
blog.dev-area.net/2015/08/13/...
InformationsquelleAutor user802467 | 2015-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als pro Dokumentation ist es NICHT möglich, die TLS 1.0 unterstützen, in WebView in Android < 4.3. Für Android 4.4 ist es standardmäßig deaktiviert.
Prüfen Sie diese Tabelle für die Unterstützung von TLS 1.0 in verschiedenen Browsern: https://en.wikipedia.org/wiki/Transport_Layer_Security#Web_browsers
InformationsquelleAutor M. C.
Wenn Ihr die app benutzt, oder Sie bereit sind, zu verwenden,, Google-Play-Dienste, die Sie verwenden können, neueren Sicherheits-features auf älteren Handys durch die Installation Ihrer
Provider
. Es ist einfach zu installieren, nur eine Leitung (plus exception-handling, etc). Sie müssen auch hinzufügen, google-play-Dienste, um Ihre gradle-Datei, wenn Sie nicht bereits haben.ProviderInstaller
ist in der-base
Paket.Für eine vollständige Beispiel finden Sie unter "Aktualisierung Ihrer Security-Anbieter zum Schutz Gegen SSL-Exploits" von Google.
Auch nach der Installation der Anbieter erfolgreich, Sie müssen aktivieren von TLS 1.2 TLS/1.1 explizit während https-request in Android-Versionen zwischen [16-20]. Ich habe überprüft dies auf einem KITKAT-Gerät.
Hinweis: Dies scheint nicht das Problem zu beheben mit 4.1.2 Kunden.
niedrigste version, die ich es geschafft es zum laufen zu bringen war 4.4.2. Abfangen socket-Erstellung und Aufruf
setEnabledProtocols
scheint die einzige Lösung.Tut dies immer noch die Arbeit für jeden? Ich habe bemerkt, dass mein 4.4 Geräte nicht mehr laden TLS 1.2 diente Inhalt.
InformationsquelleAutor iagreen
Tatsächlich, ich schaffte es, es zu schaffen, aber Sie brauchen, okHttp-Bibliothek.
Versuchen Sie dies, wenn Sie die Einstellung up-browser-Aktivität:
Darüber hinaus müssen Sie klassischen Trust-Manager Manipulator, SSL socket factory und deren Umsetzung in Ihrer Anwendung Klasse:
SSl Socket Factory:
App-Klasse:
Hast du dein problem gelöst?Bitte lassen Sie mich wissen, wenn Sie es getan.
das problem war in 3rd-party-service verwenden wir verschiedene System für android unter 4.4(es ist nicht im Zusammenhang mit android)
InformationsquelleAutor Alex
es ist beause android 4.3 keine Unterstützung für TLS 1.1 aber nur TSL1.0
Lesen Sie diesen Artikel
https://www.ssllabs.com/ssltest/clients.html
finden android 4.3 sehen
Protokolle
TLS 1.3 Keine
TLS 1.2 Keine
TLS 1.1 Keine
TLS 1.0 ja
SSL 3 ja UNSICHER
SSL 2 No
InformationsquelleAutor lemon