当前位置:  开发笔记 > 编程语言 > 正文

"使用HttpClient根据验证程序,远程证书无效"

如何解决《"使用HttpClient根据验证程序,远程证书无效"》经验,为你挑选了1个好方法。

无法通过证书验证解决问题.

有Web API服务器,它使用HTTPS来处理请求.服务器的证书具有以下认证路径:RCA(root) - > ICA(中间) - > Web API服务器.RCA,ICA和Web API服务器是同一Active Directory域的成员.

客户端应用程序(桌面,计算机加入同一域)用于HttpClient与服务器通信并支持两种方案:

连接到企业网络;

与公司网络断开连接(Internet访问).

两种方案都使用基本身份验
RCA和ICA证书分别放在"受信任的根证书颁发机构"和"中间证书颁发机构"中,用于本地计算机帐户.RCA证书是自签名的.

现在,当客户端连接到公司网络时,证书验证按预期工作,用户可以与Web API"对话".

当客户端断开连接(只有Internet连接可用)时,证书验证失败AuthenticationException("远程证书根据验证过程无效").

我不想完全关闭证书验证,但只需要告诉验证系统,这个特定证书是有效的.此外,客户端应用程序使用SignalR,它默认使用它自己的传输.因此,这和这不是选项.

为什么将RCA ICA证书放到"Trusted ..."和"Intermediate ..."文件夹中没有帮助?

有没有解决方法?



1> Mihai Caraco..:

您遇到的问题是因为证书提供的主题CN与Uri中的主机名不匹配。

确保绑定到主机的公共IP地址的证书确实具有与您用来访问资源的主机名匹配的CN。

为了轻松进行验证,请在浏览器中打开“ URL”并查看证书。在颁发给字段应包含FQDN并匹配URI中的主机名部分。就您而言,事实并非如此。

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有