来自Android WebView的Https连接

时间:2014-01-23 15:12:33

标签: android https webview

我需要在我的应用程序(在Webview中)中通过https加载一些页面。 我知道你可以做到

@Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        Log.d("SSL", "ERROR "+ error);
        handler.proceed(); // Ignore SSL certificate errors
    }

但是这最终会破坏了首先使用https的目的,所以有没有正确的方法来实现这一点,通过将客户端证书添加到webview链甚至设备链中,这样我就可以使用SelfSigned证书了?

还有一个问题,就是在做handler.proceed();禁用加密。即如果我使用此连接发送用户名,它是否会以计划形式发送?

注意:如果有人需要更加“安全”地进行上述解决方法,您可以检查错误对象中的域并仅允许您的域测试CN = my.domain.com

1 个答案:

答案 0 :(得分:1)

要使用设备上未预先安装的任何证书,您可以使用设备Settings - > Install from storage 安装新证书。

WebView用于提供setCertificate()的界面,但在API级别17中已弃用,这可能意味着您现在无法从应用程序安装证书。