WebView SSL错误?

时间:2017-09-06 17:00:58

标签: java android ssl webview

我有一个带有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();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我花了一天的时间解决同样的问题,并最终弄清了为什么会这样。此问题的主要问题是在apache服务器上设置ssl(在我的情况下,使用apache)。要使用https(ssl)协议,我在服务器端放置了一些证书文件(root_bundle.crt,.crt,.key),并在httpd-ssl.conf文件中设置了文件的路径。我按照Google的指示进行操作,大多数指南只说了大约2个文件,而不是“ bundle.crt”文件。我意识到该文件也很重要。 我们应该在httpd-ssl.conf文件的“ SSLCertificateChainFile”变量中设置证书链束文件的路径。

因此设置应如下所示。

SSLCertificateFile“ D:/wamp/bin/apache/apache2.4.23/conf/key/somedomain_name.crt” SSLCertificateKeyFile“ 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”

我引用了this