我有一个Windows应用商店应用(Metro应用),我想连接我通过HTTPS构建的网络服务。我正在为我的网络服务使用自签名证书。但当我尝试通过System.Net.HttpClient.PostAsync从我的应用程序连接它时,我得到了一个异常说
“基础连接已关闭:无法为SSL / TLS安全通道建立信任关系。”
内部异常说 “根据验证程序,远程证书无效。”
我知道这是因为我使用的是自签名证书。我记得在.NET中我可以使用System.Net.ServicePointManager.ServerCertificateValidationCallback
,这样如果指纹是我的,我的应用程序可以通过验证。
但我无法在Windows应用商店运行时中找到相关的类/方法。我怎么能这样做?
答案 0 :(得分:0)
首先,理想情况下应该使用Windows.Web.HttpClient。在该API上,您可以使用httpClient.HttpBaseProtocolFilter.IgnorableServerCertificateErrors
来设置您愿意接受的证书错误。例如,您可以选择忽略不受信任的错误,但是您应该在实际发送任何数据之前手动检查指纹。