5

我有一个 Windows Store 应用程序(Metro 应用程序),我想连接一个通过 HTTPS 构建的 Web 服务。我正在为我的网络服务使用自签名证书。但是当我尝试通过 System.Net.HttpClient.PostAsync 从我的应用程序连接它时,我得到一个异常说

“底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”

内部异常说“根据验证程序,远程证书无效。”

我知道这是因为我使用的是自签名证书。我记得我可以在 .NET 中使用System.Net.ServicePointManager.ServerCertificateValidationCallback,这样如果指纹是我的,我的应用程序就可以通过验证。

但我在 Windows Store 运行时找不到相关的类/方法。我怎样才能做到这一点?

4

1 回答 1

0

首先,您最好使用 Windows.Web.HttpClient。在该 API 上,您可以使用httpClient.HttpBaseProtocolFilter.IgnorableServerCertificateErrors设置您愿意接受的证书错误。例如,您可以选择忽略 Untrusted 错误,但您应该在实际发送任何数据之前手动检查指纹。

于 2014-06-26T23:09:35.947 回答