如何使用无效/自签名证书在UWP WebView中强制导航到HTTPS网页?

如何使用无效/自签名证书在UWP WebView中强制导航到HTTPS网页?,webview,https,windows-runtime,uwp,Webview,Https,Windows Runtime,Uwp,假设我想为Windows10UWP开发自己的轻量级浏览器商店应用程序。将有用于Uri的文本框、用于导航的按钮和用于页面其余部分的WebView。 当我导航到带有有效证书和有效TLS设置的HTTPS网页时,它就正常工作了,但当我导航到带有无效/过期/自签名证书的网页时,我只得到带有WebErrorStatus的OnNavigationFailed事件。CertificateIsInvalid 我没有发现覆盖此错误并继续导航的机制,就像在标准浏览器中甚至在Microsoft Edge中一样,应该使用

假设我想为Windows10UWP开发自己的轻量级浏览器商店应用程序。将有用于Uri的文本框、用于导航的按钮和用于页面其余部分的WebView。 当我导航到带有有效证书和有效TLS设置的HTTPS网页时,它就正常工作了,但当我导航到带有无效/过期/自签名证书的网页时,我只得到带有WebErrorStatus的OnNavigationFailed事件。CertificateIsInvalid
我没有发现覆盖此错误并继续导航的机制,就像在标准浏览器中甚至在Microsoft Edge中一样,应该使用相同的UWP API构建

有没有办法,如何覆盖HTTPS错误并导航到目标页面?我知道这是出于安全考虑,我只想做到这一点


谢谢

好的,我必须为这个问题找到自己的解决方案。
最简单的解决方案是,当使用自签名证书连接到特定网站时,可以在应用程序清单中将此证书列入白名单,页面将立即加载。
在其他情况下,可以将WebView.NavigateToLocalStreamUri方法与自定义IUriToStreamResolver一起使用HttpClient和HttpBaseProtocolFilter忽略指定的证书验证错误。然后使用此HttpClient下载所有请求的资源,不会出现错误

更多详细信息,包括代码示例,请参见此处:

您是否尝试过:这不是一个解决方案,我希望加载任何带有无效证书的HTTPS站点并在WebView中显示。我不相信您目前可以通过设计来实现这一点。一般来说,导航到页面并忽略无效证书是不安全的。它违背了目的。虽然我可以在仅调试模式下查看值…,但Microsoft没有选择使其可用。Microsoft可以在边缘浏览器中导航到HTTPS页面,该页面的证书无效,该页面应基于相同的UWP API。在这种情况下,用户可以控制,因此我不认为它是完全相同的。但是,不管怎样,我不认为这是一个功能。