【问题标题】:WebView SSL error?WebView SSL 错误?
【发布时间】:2017-09-06 17:00:57
【问题描述】:

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

【问题讨论】:

  • 我很乐意查看@您的域/证书。是否可以 ?证书必须在运行您的网络服务的机器上创建。
  • link 是域@louis12356
  • 那么,你能告诉我们错误信息吗?
  • 没有错误只是白屏
  • 检查浏览器的控制台,打开cms的错误信息。

标签: java android ssl webview


【解决方案1】:

我花了一天时间解决了同样的问题,终于弄明白了为什么会这样。这个问题的主要问题是在 apache 服务器上设置 ssl(在我的例子中使用了 apache)。要使用 https (ssl) 协议,我将一些证书文件(root_bundle.crt、.crt、.key)放在服务器端,并在 httpd-ssl.conf 文件中设置文件的路径。我按照谷歌的说明进行操作,大多数指南只说 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    相关资源
    最近更新 更多