小编Jul*_*ers的帖子

如何使用 JavaFX 14/HTTP2/JDK-8211308 让 JavaFX WebView 继续加载具有自签名证书的页面

谁能告诉我更新到 JavaFX 14 后如何在 WebView 中继续使用自签名 https 证书显示网页?

\n

在 JavaFX 14 之前,我们一直通过使用and实现自定义TrustHandlerand\xc2\xa0来处理此问题。HostnameVerifierHttpsURLConnection.setDefaultSSLSocketFactoryHttpsURLConnection.setDefaultHostnameVerifier

\n

当我切换到 JavaFX 14 且 WebView 尝试加载自签名网页时

\n
    \n
  • 他们不加载,
  • \n
  • 不再调用自定义 TrustHandler 代码,并且
  • \n
  • 我从\xc2\xa0 得到这个webView.getEngine().getLoadWorker().getException():\n
      java.lang.Throwable: SSL handshake failed  \n  \xc2\xa0at javafx.web/javafx.scene.web.WebEngine$LoadWorker.describeError(WebEngine.java:1431)  \n  \xc2\xa0at javafx.web/javafx.scene.web.WebEngine$LoadWorker.dispatchLoadEvent(WebEngine.java:1370)  \n  \xc2\xa0at javafx.web/javafx.scene.web.WebEngine$PageLoadListener.dispatchLoadEvent(WebEngine.java:1231)  \n  \xc2\xa0at javafx.web/com.sun.webkit.WebPage.fireLoadEvent(WebPage.java:2514)  \n  \xc2\xa0at javafx.web/com.sun.webkit.WebPage.fwkFireLoadEvent(WebPage.java:2359)  \n  \xc2\xa0at javafx.web/com.sun.webkit.network.URLLoaderBase.twkDidFail(Native Method)  \n  \xc2\xa0at javafx.web/com.sun.webkit.network.HTTP2Loader.notifyDidFail(HTTP2Loader.java:624)  \n  \xc2\xa0at javafx.web/com.sun.webkit.network.HTTP2Loader.lambda$didFail$18(HTTP2Loader.java:606)  \n  \xc2\xa0at javafx.web/com.sun.webkit.network.HTTP2Loader.lambda$callBackIfNotCanceled$10(HTTP2Loader.java:437)  \n  \xc2\xa0at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)  \n  \xc2\xa0at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)  \n  \xc2\xa0at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)  \n  \xc2\xa0at …
    Run Code Online (Sandbox Code Playgroud)

ssl javafx self-signed webview http2

3
推荐指数
1
解决办法
1326
查看次数

标签 统计

http2 ×1

javafx ×1

self-signed ×1

ssl ×1

webview ×1