繁体   English   中英

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

[英]C#/UWP : How to manage certificate errors with HttpClient?

我为客户端开发了UWP应用 ,该应用使用在其域中托管的WebService

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

  • 但是现在,WebServices URL与使用SSL产品服务器相关

因为我是分包商,所以没有AD帐户,我需要使用VPN来访问客户端的WebServices。

访问测试服务器没有任何问题,但生产服务器不再是这种情况。

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

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

以下是例外的详细信息:

HResult = -2147012851

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

Message =“发送请求时发生错误。”

来源=“ System.Net.Http”

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

还有其他方法吗?

编辑:添加“用户”证书

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

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

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

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

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

通过安装客户端发送的“用户”“计算机”证书已解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM