• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

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

...全文
427 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiwd2000 09-04

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

回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
编辑了帖子
2021-09-01 11:44
创建了帖子
2021-09-01 10:38
社区公告
暂无公告