由于SSL证书覆盖,我的C#应用程序无法连接到我们公司网络中的url。怎么才能修好呢?
我有一个web应用程序运行在两个不同的服务器上,每个服务器绑定到不同的子域。类似的东西;
通常,我的本地C#应用程序可以通过subdmoain与两个服务器进行交互,没有任何问题。然而,当PC连接到公司网络时,本地C#应用程序可以连接到绑定到子域a.myapp.com的web应用程序,而不能连接到运行在b.myapp.com上的web应用程序(接收超时错误)。我认为这是因为公司over编写了现有的SSL证书,并注入了自己的SSL证书。
请注意,我可以通过浏览器(铬和IE)连接,没有任何问题。
到目前为止,我已经尝试过;
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
和
var handler = new HttpClientHandler()
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
var client = new HttpClient(handler);
不起作用。
问题是,为什么浏览器可以在没有任何问题的情况下连接,但System.Net.Http.HttpClient却收到超时?有任何方法来模拟HttpClient中的浏览器证书流吗?
发布于 2019-09-16 01:57:12
问题是公司防火墙。显然,防火墙在.net客户端应用程序与server.It之间的SSL握手过程中丢弃包,这是因为.net客户端默认使用SChannel密码套件,而在防火墙上必须为这些密码suites.The提供一条规则,只有使用Bouncy城堡才能定制.net SSL密码套件。在手动设置SSL密码套件之后,它工作了。
https://stackoverflow.com/questions/57916025
复制相似问题