2015-10-07 57 views
3

我正在使用电话Windows 10通用应用程序。我尝试使用自动签名证书连接到OAuth服务器。Windows 10通用应用程序 - 忽略SSL证书Valdiation

当我打开一个网页查看到该服务器我得到的错误:

“访问此资源所需的安全证书是无效”

我想用下面的intstruction但通用应用程序上不存在ServicePointManager

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

任何想法如何绕过这些应用程序的SSL验证?谢谢。

+0

您是否发现任何成功? –

回答

4

在Windows运行时,webview不应该进入不可信页面,因此您将遇到上述异常。
为了解决您的问题,您需要在UWP应用程序中包含证书,或者必须忽略SSL证书错误。

有关如何在您的UWP应用程序中包含证书,您需要将“证书”声明添加到您的Package.appxmanifest。 enter image description here
欲了解更多信息,请试着参考这篇文章: http://blogs.msdn.com/b/wsdevsol/archive/2014/06/05/including-self-signed-certificates-with-your-windows-runtime-based-windows-phone-8-1-apps.aspx

是,ServicePointManager是不是在Windows运行时应用程序可用,以忽略SSL证书错误,我们可以使用HttpBaseProtocolFilter.IgnorableServerCertificateErrors | ignorableServerCertificateErrors属性帮助我们。 欲了解更多信息,请尝试参考以下两篇文章:
http://blogs.msdn.com/b/wsdevsol/archive/2013/10/17/how-to-ignore-self-signed-certificate-errors-in-windows-store-apps-8-1.aspx
https://bernhardelbl.wordpress.com/2013/06/28/ignore-ssl-certificate-errors-in-windows-8-1-apps/

+0

是否可以将HttpBaseProtocolFilter与SignalR结合使用? – Storm

+0

我试过上面的方法,但没有奏效。我有一个针对Windows 10平台的Cordova应用程序,它正在通过https进行Ajax调用,该应用程序是自签名的。我已经将两个值CA和Root都放在'Store Name'中,但它不起作用。我不断收到'{data:null,status:0}'的错误。还有其他建议吗? – hirenhcm

+0

我已经从firefox下载了服务器的证书''你想要的信任它' - 对话框,将它从.crt转换为.cer(尽管文件没有更改),并将其添加到我的UWP应用程序中。但是,当我通过'ClientWebSocket'连接到服务器时,它会抛出无效的证书异常。我错过了什么吗? – Benni