jxbrowser - 禁用 ssl/tls 证书检查

问题描述

我需要通过 JAVAfx 在 fxbrowser 中禁用 HTTP 证书检查,现在我将其称为

AnchorPane = new AnchorPane();
browserView _nodevW;

browser _browser =  Engine.newInstance(
    EngineOptions.newBuilder(
        OFF_SCREEN
    ).addSwitch("--allow-running-insecure-content")
    .chromiumDir(
        "C:\\TMP\\JX"
    ).enableProprietaryFeature(
        ProprietaryFeature.H_264
    ).enableIncognito().build()
    
    _browser = engine.newbrowser();
    _nodevW = browserView.newInstance(_browser);
    _browser.navigation().loadUrl(url);
    
    
    anchorPane.getChildren().addAll(_nodevW);

它适用于带有有效证书的普通 http 和 https,但对于自签名或证书无效,ERR_CERT_AUTHORITY_INVALID

如何告诉浏览器忽略无效证书(我无法在客户端计算机上安装证书,但我可以忽略它们)

解决方法

您可以忽略无效的 SSL 证书并使用以下方法继续加载 HTTPS 网页:

Network network = engine.network();
network.set(VerifyCertificateCallback.class,(params) -> 
        VerifyCertificateCallback.Response.valid());

您可以在 documentation 中阅读有关此 API 的更多信息。