我有一个带有WebView的应用程序。我最近更换了主机,新主机带来了新的SSL,由于某种原因,SSL不被webview信任,我想知道如何解决这个问题。主要活动在这下面。SSL没有任何问题,因为它在chrome等环境下工作得很好。另外,如果你有代码,代码的“导入”会很好!
public class MainActivity extends AppCompatActivity {
private WebView wb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb = (WebView) findViewById(R.id.webView);
WebSettings webSettings = wb.getSettings();
webSettings.setJavaScriptEnabled(true);
wb.loadUrl("https://www.example.com/");
wb.setWebViewClient(new WebViewClient());
}
@Override
public void onBackPressed() {
if (wb.canGoBack()) {
wb.goBack();
} else {
super.onBackPressed();
}
}
}发布于 2018-10-29 00:48:30
我花了一天的时间来解决同样的问题,并最终弄清楚了为什么会发生这种情况。这个问题的主要问题是在apache服务器上设置ssl (在我的例子中使用apache )。为了使用https (ssl)协议,我在服务器端放置了一些证书文件(root_bundle.crt、.crt、.key),并在httpd-ssl.conf文件中设置了这些文件的路径。我遵循了谷歌的指示,大多数指南只说了2个文件,而不是"bundle.crt“文件。我意识到这个文件也很重要。我们应该在httpd-ssl.conf文件的"SSLCertificateChainFile“变量中设置证书链包文件的路径。
因此,设置应该如下所示。
"D:/wamp/bin/apache/apache2.4.23/conf/key/somedomain_name.crt“"D:/wamp/bin/apache/apache2.4.23/conf/key/somedomain_name.key”SSLCertificateChainFile "D:/wamp/bin/apache/apache2.4.23/conf/key/root_bundle.crt“SSLCertificateFile SSLCertificateKeyFile
我引用了this。
https://stackoverflow.com/questions/46080743
复制相似问题