如何在webview2 WPF中添加“忽略证书错误”

k4aesqcs  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(934)

我正在尝试将WPF chrome浏览器组件转换为WebView2。
Chrome有以下设置:

if (Cef.IsInitialized == false)
        {
            var settings = new CefSettings();
            settings.IgnoreCertificateErrors = true;
            Cef.Initialize(settings);
        }

如何在WebView2中添加此内容。
我看到了一些关于它的链接,但是它说以后会支持microsoft-edge-webview2-ignore-certificate-errors。这是支持的吗?

gcuhipw9

gcuhipw91#

WebView2的当前发行版(版本1.0.1343.22)支持此功能。
你的做法是:
初始化WebView2之后,您可以订阅ServerCertificateErrorDetected事件,如下所示:

webView.CoreWebView2.ServerCertificateErrorDetected += WebView_ServerCertificateErrorDetected;

然后在eventhandler中,告诉它忽略错误:

void WebView_ServerCertificateErrorDetected(object sender, CoreWebView2ServerCertificateErrorDetectedEventArgs e)
{
   CoreWebView2Certificate certificate = e.ServerCertificate;
   e.Action = CoreWebView2ServerCertificateErrorAction.AlwaysAllow;
}

还有更高级的选项(比如只忽略一些证书),但是如果你只想允许所有证书,那么这应该可以。

然而问题仍然存在:为什么证书无效,是否应该忽略它们?您甚至可以在本地系统上使自签名证书有效,这样它们就不会抛出错误(请查找)。

相关问题