Win RT(Windows 8.1)WebView:忽略证书错误



我在Win RT(Windows 8.1应用商店)的WebView中遇到问题。

当我试图导航到某个页面(在WebView中)时,如果该页面包含安全证书错误,则WebView只是显示一个空白(白色)页面。

基于以下帖子,https://social.msdn.microsoft.com/Forums/windowsapps/en-US/c5159b37-73cb-4081-a59e-4b1d867e4f77/webview-load-webpage-for-uri-with-none-validate-ssl-certificate?forum=winappswithcsharp

我假设,web视图不是为了显示有证书问题的页面而构建的。

我还尝试通过Windows.Web.Http.HttpClient和HttpBaseProtocolFilter获取页面内容,并在IgnorableServerCertificateErrors列表中包含ChainValidationResult枚举的所有可能值。

然而,这也不能解决这个问题。它继续抛出异常(InvalidName,Untrusted)。

我也看过下面的帖子,但并没有一个真正解决我现在面临的问题。使用HttpClient 允许不受信任的SSL证书

如果你们能提供可能的解决方案/变通方法来克服这一限制,我将不胜感激。

提前谢谢。。

问候Sam

您可以这样做:

  1. 将站点cerfificate导出到文件(localhost.cer)
  2. 编辑appxmanifest并添加此扩展(在功能之后):
<扩展>&lt--证书扩展--&gt;<扩展类别="windows.certificates"><证书><Certificate StoreName="Root"Content="Assets\localhost.cer"/><证书><扩展><扩展>
  1. 将证书(localhost.cer)复制到Assets文件夹,并将其构建操作更改为Content

现在就试试。。。

希望这能有所帮助,

您的应用程序会经常访问那个特定的网站/页面吗?如果是,请从该网站下载SSL证书,并将其与应用程序一起发送,以便它信任该网站。

您还可以使用此技术来绕过SSL错误:http://blogs.msdn.com/b/wsdevsol/archive/2013/10/17/how-to-ignore-self-signed-certificate-errors-in-windows-store-apps-8-1.aspx

最新更新