【问题标题】:JavaFX WebView can't load certain sitesJavaFX WebView 无法加载某些网站
【发布时间】:2015-08-27 09:11:39
【问题描述】:

我正在尝试使用 JavaFX 的 WebView 来加载这个 site,但我得到的只是一个空白屏幕。 WebView 在其他网站上运行良好;它在 ACID3 上获得 100/100 并加载其他 HTTPS 站点而没有任何问题。

我也找不到该网站有什么特别错误的地方。它有一个由适当的 CA 签名的适当的、未过期的证书,并且 SSL 实验室报告 a B grade。我尝试了所有主流浏览器,但没有报告任何证书或 SSL 相关问题;该网站在所有这些上都呈现良好。

任何帮助将不胜感激。即使是简单的“是的,我的网站也坏了”或“这里没有问题”也会有很大帮助。

我在 Windows 8.1 64 位上使用 Java SDK 1.8.0_45-b14。

【问题讨论】:

    标签: java webview javafx javafx-8 javafx-webengine


    【解决方案1】:

    原因是java.lang.Throwable: SSL handshake failed

    一个解决方案可以是:来自这篇帖子https://stackoverflow.com/a/5671038/1032167

         TrustManager trm = new X509TrustManager() {
            public X509Certificate[] getAcceptedIssuers() {return null;}
            public void checkClientTrusted(X509Certificate[] certs, String authType) {}
            public void checkServerTrusted(X509Certificate[] certs, String authType) {}
        };
    
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, new TrustManager[] { trm }, null);
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    

    也有帖子,大概是类似情况:JavaFx Webview JDK 8 can not load self signed certificate

    我怎么知道是SSL handshake failed

    webView.getEngine().getLoadWorker().stateProperty().addListener(
                new ChangeListener<Worker.State>() {
                    public void changed(ObservableValue ov, 
                          Worker.State oldState, Worker.State newState) {
                System.out.println(webView.getEngine().getLoadWorker().exceptionProperty());
                 ...
    

    还将 -Djavax.net.debug=all 添加到 VMOption 节目中

    URL-Loader-1,处理异常:javax.net.ssl.SSLHandshakeException:

    sun.security.validator.ValidatorException:PKIX 路径构建失败:

    sun.security.provider.certpath.SunCertPathBuilderException:

    无法找到请求目标的有效认证路径

    【讨论】:

      猜你喜欢
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 2016-05-11
      • 1970-01-01
      相关资源
      最近更新 更多