[英]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.