verified - WebView con certificado de cliente SSL en Android 4 ICS
retrofit ssl pinning (1)
Creo que lo que quieres es anular el siguiente método oculto:
public void onReceivedClientCertRequest(WebView view,
ClientCertRequestHandler handler, String host_and_port) {
De manera predeterminada, esto cancelará la solicitud.
He utilizado este método siguiendo este ejemplo para utilizar API ocultas: http://devmaze.wordpress.com/2011/01/19/using-com-android-internal-part-5-summary-and-example/
Disculpa por la respuesta tardía. Acabo de tropezar con su pregunta ... Espero que todavía ayude.
Tengo un problema con WebView nativo en Android. Necesito autenticarme con un sitio usando un certificado de cliente SSL. Android WebView no parece ser compatible con esto. Como solución, utilicé una versión modificada de WebView:
https://github.com/yonekawa/webview-with-client-certificate
El WebView modificado funciona inyectando un SslSocketFactory correctamente configurado en el WebView de Android estándar. Esto funciona bien en dispositivos Android 2.x. Sin embargo, con Android 4 ICS ya no funciona. El SslSocketFactory todavía está allí en ICS, sin embargo, parece que ya no se usa.
Entonces mi pregunta es: ¿alguien ha logrado configurar Android WebView en ICS para que funcione con un certificado de cliente? ¿O hay alguna alternativa?
Lo que ya probé:
importar el certificado de cliente SSL al almacén de claves de Android y simplemente usar el WebView sin ninguna modificación. Esto no funciona, el certificado del cliente no se envía junto con las solicitudes. Sin embargo, funciona en el navegador nativo.
creando la conexión SSL usando HttpClient, obteniendo el HTML del sitio y entregándolo a WebView. Esto básicamente funciona, pero necesito interceptar todas las solicitudes hechas por WebView y manejarlas yo mismo. Sin embargo, WebView no proporciona los datos de las solicitudes POST, lo que hace que este enfoque no sea utilizable para mí.