C#/ UWP:如何使用HttpClient管理证书错误?

时间:2018-04-17 08:07:15

标签: c# ssl uwp certificate httpclient

我为客户端开发了 UWP应用,它使用在其域中托管的Web服务

  • 到目前为止,URL WebServices与不使用SSL的测试服务器相关

  • 但现在,Web服务网址与使用 SSL

  • prod服务器相关

由于我是分包商,我没有AD帐户,我需要使用VPN访问客户端的Web服务。

我没有遇到任何访问测试服务器的问题,但prod服务器不再是这种情况。

当我尝试通过导航器访问URL时,我收到一条安全警告消息( DLG_FLAGS_INVALID_CA ),但我可以“强制”导航到URL。

但是当我使用HttpCLient从应用程序调用WebService时,我也收到错误(HttpRequestException),我看不出如何修复它。

以下是例外情况的详细信息:

  

HResult = -2147012851

     

InnerException =   {System.Runtime.InteropServices.COMException(0x80072F0D):找不到与错误代码相关的文本。证书颁发机构无效或不正确   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务   任务)......

     

Message =“发送请求时出错。”

     

Source =“System.Net.Http”

我已经尝试在我的计算机上手动安装证书,但这不能解决问题......

还有其他方法吗?

修改:添加“用户”证书

客户端向我发送了“用户”证书,并将其安装在我的计算机上“用户\受信任的根证书颁发机构证书存储区”:不再存在问题来自导航仪。但是,在应用程序中,问题仍然存在。

这是正常的吗?我是否需要将证书“附加”到应用程序?这不是很有用,因为客户的用户不需要这个问题:只有我,因为我是使用VPN的分包商......

编辑:添加“计算机”证书

最后,客户端向我发送了“计算机”证书,并将其安装在我的计算机上“计算机\受信任的根证书颁发机构证书存储区”:这次我可以使用该应用程序没有问题。

很高兴知道UWP应用和导航器不使用相同的证书。

1 个答案:

答案 0 :(得分:0)

通过安装"用户" "计算机"已解决此问题。证书已由客户发送。