如何让 Android WebView 信任自创建的根 CA

问题描述

我创建了自己的 root CA 并通过 Android 用户证书管理菜单添加/安装了它。我用 Android Chrome browser 打开关联的网站,但我不再收到有关不受信任/不安全连接的消息。但是,如果尝试通过 WebView 打开/访问网站,我看到

Failed to validate the certificate chain,error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

并且页面未加载。这是通过修改 web view client :

解决
webView.setWebViewClient(new WebViewClient() {

    @Override
    public void onReceivedSslError(WebView view,SslErrorHandler handler,SslError error) {
        handler.proceed(); // this is only for DEV
    }
}

但是出现其他错误并且页面无法正常工作。这是我用 WebView

检查 chrome://inspect/#devices 时看到的
An SSL certificate error occurred when fetching the script.

login.html:46 ServiceWorker registration error:  DOMException: Failed to register a ServiceWorker for scope ('https://xxx/') with script ('https://xxx/some.js'): An SSL certificate error occurred when fetching the script.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)