Mam problem z natywnym WebView na Androida. Muszę uwierzytelnić się w witrynie za pomocą certyfikatu klienta SSL. Android WebView wydaje się nie obsługiwać tego. Jako obejście użyłem zmodyfikowaną wersję WebView:WebView z certyfikatem klienta SSL na Androida 4 ICS
https://github.com/yonekawa/webview-with-client-certificate
Zmodyfikowany WebView działa poprzez wstrzyknięcie prawidłowo skonfigurowany SslSocketFactory do standardowego WebView Android. Działa to dobrze na urządzeniach z Androidem 2.x. Jednak w przypadku systemu Android 4 ICS to już nie działa. SslSocketFactory nadal istnieje w ICS, jednak wydaje się, że nie jest już używany.
Moje pytanie brzmi: czy ktoś pomyślnie skonfigurował Android WebView na ICS, aby działał z certyfikatem klienta? Czy jest jakaś alternatywa?
Co ja już próbowałem:
importowania certyfikatu klienta SSL do Android kluczy i tylko przy użyciu WebView bez żadnych modyfikacji. To nie działa, certyfikat klienta nie jest wysyłany wraz z żądaniami. Działa jednak w macierzystej przeglądarce.
Tworzenie połączenia SSL sam przy użyciu HttpClient, uzyskanie HTML witryny i przekazanie go do WebView. Zasadniczo działa, ale muszę przechwycić wszystkie żądania wykonane przez WebView i obsługiwać je samodzielnie. Jednak WebView nie dostarcza danych o żądaniach POST, co sprawia, że podejście to jest dla mnie bezużyteczne.
Autoryzacja certyfikatu klienta wydaje się być poprawiona w wersji 4.0 zgodnie z [ten komentarz] (http://code.google.com/p/android/issues/detail?id=8196#c70). Sprawdź link w tym komentarzu do instrukcji użytkowania. – Rajesh
Tak, jest ustalona dla samodzielnej przeglądarki. Mój problem polega na tym, że chcę używać autoryzacji certyfikatu klienta we wbudowanym WebView w mojej własnej aplikacji. – chriz