2015-06-11 7 views
2

Я пытаюсь использовать WebView JavaFX для загрузки этого site, но все, что я получаю, это пустой экран. WebView отлично работает на других сайтах; он получает 100/100 на ACID3 и загружает другие HTTPS-сайты без каких-либо проблем.JavaFX WebView не может загружать определенные сайты

Я также не могу найти что-то особенное с сайтом. Он имеет надлежащий сертификат без истечения срока действия, подписанный надлежащим CA, и протокол SSL Labs a B grade. Я попробовал все основные браузеры, и ни один из них не сообщил о каких-либо проблемах, связанных с сертификатом или SSL; сайт отлично работает на всех из них.

Любая помощь была бы принята с благодарностью. Даже простая «да, сайт сломан для меня тоже» или «без проблем здесь» очень поможет.

Я использую Java SDK 1.8.0_45-b14 для Windows 8.1 64-бит.

ответ

4

Причина 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:

не смог найти правильный путь сертификации к запрошенной цели

 Смежные вопросы

  • Нет связанных вопросов^_^