JavaFX WebView无法加载某些网站

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

我也找不到该网站的任何特别错误。它具有由适当的CA签名的适当的,未过期的证书,并且SSL

Labs报告为B级。我尝试了所有主要的浏览器,但没有一个报告任何与证书或SSL相关的问题;该网站对所有这些都很好。

任何帮助将不胜感激。即使是简单的“是的,该网站对我来说也很糟糕”或“这里没有问题”都会有很大帮助。

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

回答:

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

一种解决方案可以是:从这篇文章http://codingdict.com/questions/107658:

     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无法加载自签名证书

我怎么知道那是 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:

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

以上是 JavaFX WebView无法加载某些网站 的全部内容, 来源链接: utcz.com/qa/425288.html

回到顶部