HttpClient 无法信任SSL证书的问题

a1355285117 2021-09-01 10:38:27

我需要用一个控制台程序在一个只有内网的服务器上访问一个https的网站

代码如下

var handler = new WebRequestHandler();

handler.ServerCertificateValidationCallback = delegate { Console.WriteLine("设置信任证书"); return true; };

var httpClient = new HttpClient(handler);

httpClient.BaseAddress = new Uri("https://www.baidu.com");

var response = await httpClient.GetAsync("https://www.baidu.com");

但是在get的时候依旧会报出The request was aborted: Could not create SSL/TLS secure channel的错误

控制台也没有打印出 "设置信任证书"  说明get请求的时候并没有进入这个委托当中

ServicePointManager.ServerCertificateValidationCallback = delegate { Console.WriteLine("设置信任证书"); return true; };

这个设置也没效果

我想请问服务器中是否有相关的设置?如完全禁止使用网络验证SSL证书;或者说代码中需要添加其他的属性?

服务器环境是Windows server 2008   .net版本为4.5

...全文
711 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiwd2000 2021-09-04
  • 打赏
  • 举报
回复

程序初始化时加上这句代码即可,System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)(0xc0 | 0x300 | 0xc00);

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧