Ste*_*ter 3 ssl javafx self-signed webview http2
谁能告诉我更新到 JavaFX 14 后如何在 WebView 中继续使用自签名 https 证书显示网页?
\n在 JavaFX 14 之前,我们一直通过使用and实现自定义TrustHandlerand\xc2\xa0来处理此问题。HostnameVerifierHttpsURLConnection.setDefaultSSLSocketFactoryHttpsURLConnection.setDefaultHostnameVerifier
当我切换到 JavaFX 14 且 WebView 尝试加载自签名网页时
\nwebView.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 javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) \n \xc2\xa0at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) \n \xc2\xa0at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) \n \xc2\xa0at java.base/java.lang.Thread.run(Thread.java:830) \nRun Code Online (Sandbox Code Playgroud)\n我在 JavaFX 13.0.2 上没有问题,但在 14 或 14.0.1 上失败。\xc2\xa0\n奇怪的是,如果我在 11.0.2 之前的 OpenJDK 上运行,即使使用 JavaFX 14 也没有问题,但问题出现了从 12 到 15ea20。
\n通过查看 JavaFX 和 JDK 的发行说明,我认为唯一可能的原因是 \xc2\xa0 JDK-8211308 -\xc2\xa0Support HTTP/2 in WebView。\xc2\xa0\n这意味着远离使用 xc2xa0JDK 的URLConnection类,我猜测这可能会导致它不再使用我的自定义 TrustHandler。
如果我是正确的,那么我需要知道如何继续使用我的自定义 TrustHandler 来进行 WebView 下启动的连接,但我看不到如何从 java.net.http 中的 API 执行此操作。
\n或者,增强描述提到:
\n\n\n将提供运行时属性以回退到旧版 HTTP API
\n
但我找不到任何其他提及这一点 - 我如何使用这个后备?\xc2\xa0\n或者是否有一些替代方法让 WebView 允许自签名证书?\xc2\xa0\n或者我错了JavaFX 14 发生了什么变化,还有其他解决方案吗?
\n| 归档时间: |
|
| 查看次数: |
1326 次 |
| 最近记录: |