与网页视图SSL客户端证书在Android ICS 4(WebView with SSL Clien

2019-07-29 11:32发布

我有与Android原生的WebView问题。 我需要使用SSL客户端证书网站进行身份验证。 而Android的WebView似乎并不支持这一点。 作为一种变通方法我用的WebView的修改版本:

https://github.com/yonekawa/webview-with-client-certificate

修改后的web视图工作通过注入一个适当配置的SSLSocketFactory到标准Android web视图。 这适用于Android 2.x设备的罚款。 然而,与Android ICS 4它不工作了。 该SSLSocketFactory的是仍然存在的ICS,但是,它似乎已不再使用。

所以我的问题是:有没有人成功地对ICS配置的Android的WebView,使其与客户端证书的工作? 或者是还有什么选择吗?

我已经尝试过:

  • 导入SSL客户端证书到了Android密钥库,只是使用的WebView不作任何修改。 这不工作,不与请求一起发送客户端证书。 它工作在本地的浏览器,但。

  • 创建自己使用的HttpClient,获得该网站的HTML,交给到的WebView SSL连接。 这基本上工作,但我需要截取由WebView中发出的所有请求,并处理它们自己。 然而,WebView中不提供POST请求,这使得这种方法不能用于我的数据。

Answer 1:

我想你想要的是覆盖下面的隐藏方法:

public void onReceivedClientCertRequest(WebView view,
ClientCertRequestHandler handler, String host_and_port) {

默认情况下,这将CANCLE请求。

我已经使用这个方法下面这个例子中,使用隐藏的API: http://devmaze.wordpress.com/2011/01/19/using-com-android-internal-part-5-summary-and-example/

抱歉回复晚了。 只是偶然发现了你的问题...希望它仍然帮助。



文章来源: WebView with SSL Client Certificate on Android 4 ICS