我创建了一个向用户显示特定站点的应用程序,并且我正在使用 Web 视图来完成该任务。当我尝试加载该特定站点的 web 视图时,没有显示任何内容,并且 log cat 说,
E/chromium: [ERROR:ssl_client_socket_impl.cc(946)] 握手失败;返回 -1,SSL 错误代码 1,net_error -202
因此,经过一番搜索,我找到了忽略此 SSL 证书错误并使用以下代码的答案,我可以加载该站点。
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
Log.d("ssl_error", error.toString());
}
});
当我发送error.toString()
给日志猫时,它说,
主要错误:3 证书:颁发给:[该特定站点公司的一些详细信息] 颁发者:CN=GeoTrust RSA CA 2018,OU=www.digicert.com,O=DigiCert Inc,C=US; 在 URL 上:[那个特定的站点 url]
但我想在不忽略的情况下修复该错误。
正如前面提到的堆栈溢出答案,我无法匹配https://developer.android.com/training/articles/security-config的详细信息来解决这个问题而不忽略它。我应该如何使用网络配置来解决这个问题?
注意:- 我只想使用一个特定的站点。无需与任何网站合作