2015-10-07 58 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