WebView mit SSL Client Zertifikat auf Android 4 ICS

8

Ich habe ein Problem mit dem nativen WebView auf Android. Ich muss mich mit einer Site authentifizieren, die ein SSL-Client-Zertifikat verwendet. Das Android WebView scheint dies nicht zu unterstützen. Als Workaround habe ich eine modifizierte Version von WebView verwendet:

Ссылка

Das modifizierte WebView funktioniert, indem eine korrekt konfigurierte SslSocketFactory in das standardmäßige Android WebView eingefügt wird. Dies funktioniert auf Android 2.x-Geräten einwandfrei. Mit Android 4 ICS funktioniert es jedoch nicht mehr. Die SslSocketFactory ist immer noch in ICS vorhanden, es scheint jedoch, dass sie nicht mehr verwendet wird.

Meine Frage lautet also: Hat es jemand geschafft, das Android WebView auf ICS so zu konfigurieren, dass es mit einem Client-Zertifikat funktioniert? Oder gibt es eine Alternative?

Was ich schon versucht habe:

  • Importieren Sie das SSL-Client-Zertifikat in den Android-Keystore und verwenden Sie das WebView ohne Änderungen. Dies funktioniert nicht, das Client-Zertifikat wird nicht zusammen mit den Anfragen gesendet. Es funktioniert jedoch im nativen Browser.

  • Erstellen Sie die SSL-Verbindung selbst mithilfe von HttpClient, holen Sie den HTML-Code der Site und übergeben Sie ihn an das WebView. Das funktioniert grundsätzlich, aber ich muss alle Anfragen des WebViews abfangen und selbst bearbeiten. Das WebView liefert jedoch nicht die Daten von POST-Anfragen, was diesen Ansatz für mich unbrauchbar macht.

chriz 21.05.2012, 10:34
quelle

1 Antwort

3

Ich denke, was Sie wollen, überschreibt die folgende versteckte Methode:

%Vor%

Standardmäßig wird dies die Anfrage kanalisieren.

Ich habe diese Methode für die Verwendung versteckter APIs nach diesem Beispiel verwendet: Ссылка

Entschuldigung für die verspätete Antwort. Bin gerade auf deine Frage gestoßen ... Hoffe es hilft immer noch.

    
domenukk 11.09.2012 08:16
quelle