You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 4.5.2配置Tls12后仍出现无法创建SSL/TLS安全通道错误

解决方案

1. 修正URL拼写错误

你代码中的目标URL存在笔误,httlps://多写了一个l,先修正为正确的https://docs.legis.wisconsin.gov/后重试。

2. 调整TLS配置逻辑

.NET Framework 4.5.2版本中,仅硬编码SecurityProtocolType.Tls12可能出现兼容问题,建议调整为多协议兼容模式,同时添加证书验证兜底逻辑:

// 叠加TLS1.1、TLS1.2协议支持,适配服务器端配置变化
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
// 跳过证书链校验,仅用于测试验证,生产环境建议补充自定义证书校验逻辑
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://docs.legis.wisconsin.gov/");
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse();

3. 修复操作系统级TLS配置

该问题近期才出现,大概率是目标服务器更新了TLS加密套件配置,旧版Windows系统(Windows 7/Windows Server 2008 R2及更早版本)默认未启用.NET Framework 4.x的强加密策略,需要手动修改注册表:

  • 打开注册表编辑器,定位到路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
  • 新建两个DWORD类型的项:SchUseStrongCrypto赋值为1,SystemDefaultTlsVersions赋值为1
  • 如果你使用的是64位操作系统,还需要在路径 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319 下新增相同的两个注册表项
  • 重启操作系统后配置生效

4. 更新系统根证书列表

如果目标站点近期更新了根证书,旧系统的根证书列表未同步也会导致TLS握手失败,运行Windows Update安装最新的根证书更新包即可解决。

内容的提问来源于stack exchange,提问作者Terrence Franco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:09:00