我有一个 Windows 应用商店应用程序(Metro 应用程序),我想连接我通过 HTTPS 构建的 Web 服务。我正在为我的网络服务使用自签名证书。但是当我尝试通过 System.Net.HttpClient.PostAsync 从我的应用程序连接它时,我得到一个异常:
“底层连接已关闭:无法建立 SSL/TLS 安全通道的信任关系。”
内心异常说
“根据验证程序,远程证书无效。”
我知道这是因为我使用的是自签名证书。我记得在.NET中我可以使用System.Net.ServicePointManager.ServerCertificateValidationCallback
这样如果指纹是我的,我的应用程序就可以通过验证。
但我在Windows Store运行时找不到相关的类/方法。我怎样才能做到这一点?
首先,理想情况下您应该使用 Windows.Web.HttpClient。在该 API 上,您可以使用httpClient.HttpBaseProtocolFilter.IgnorableServerCertificateErrors
设置您愿意接受的证书错误。例如,您可以选择忽略“不受信任”错误,但您应该在实际发送任何数据之前手动检查指纹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)