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

C#控制台应用使用RestSharp报错:请求已中止,无法创建SSL/TLS安全通道

报错根因

该错误核心是你代码中强制指定使用已被全球广泛废弃的SSL 3.0协议,当前绝大多数公开服务接口早已停止支持SSL 3.0,同时.NET Framework 4.0版本默认未原生开启高版本TLS协议支持。

排查步骤
  • 确认目标接口支持的TLS协议版本:可通过浏览器访问接口域名,点击地址栏安全标识查看连接使用的加密协议,目前绝大多数接口最低要求TLS 1.2,部分新接口仅支持TLS 1.3
  • 确认运行环境的.NET Framework版本:.NET Framework 4.0默认仅内置支持SSL 3.0、TLS 1.0,需要手动赋值枚举值才能支持更高版本TLS;.NET Framework 4.5及以上版本原生包含TLS 1.1、TLS 1.2的枚举定义
解决方案

你代码中ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;是核心错误代码,按你的运行环境修改即可:

.NET Framework 4.0 环境修复

.NET 4.0枚举未定义Tls11、Tls12,直接使用对应枚举值赋值:

public static Xmldata GetData(int productsPerPage, int pageNumber, RessourceType ressourceType)
{
    // 跳过证书校验仅建议测试环境使用,生产环境请保留正规证书校验逻辑
    System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    // 同时支持TLS 1.0、1.1、1.2,覆盖当前绝大多数接口的协议要求
    ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072 | SecurityProtocolType.Tls;

    var request = new RestRequest();
    request.RequestFormat = DataFormat.Xml;
    request.RootElement = "xmldata";

    var client = new RestClient();
    client.BaseUrl = baseUrl + "?data=" + ressourceType.ToString() +
                                "&key=" + key +
                                "&output=xml&RowspPage=" + productsPerPage +
                                "&PageNumber=" + pageNumber +
                                "&dataonly=true";
    var response = client.Execute<Xmldata>(request);
    return response.Data;
}

注:768对应TLS 1.1的枚举值,3072对应TLS 1.2的枚举值。

.NET Framework 4.5及以上环境修复

如果可升级项目的.NET版本,直接使用官方定义的枚举即可,可读性更高:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
额外注意事项
  • ServicePointManager是全局配置,建议将协议配置、证书校验回调逻辑放到程序启动入口处执行,不要每次请求都重复赋值,避免并发冲突
  • 生产环境不要全局跳过证书校验,测试结束后请移除ServerCertificateValidationCallback返回true的逻辑,若使用自签证书建议单独做证书指纹比对校验
  • 若修改后仍然报错,检查运行的Windows系统是否安装了TLS 1.2支持补丁,Windows Server 2008、Windows 7默认需要单独安装系统补丁才能支持TLS 1.2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 08:24:04