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

如何在OpenSSL库中设置协议的最小和最大版本

OpenSSL 设置 TLS 最小/最大协议版本的三个常用位置

1. 业务代码中显式调用API设置

创建SSL_CTX上下文后直接调用对应接口赋值,优先级最高,会覆盖全局配置和编译默认值:

// 示例:设置最小支持TLS1.2,最大支持TLS1.3
SSL_CTX_set_min_proto_version(ctx, TLS1_2_VERSION);
SSL_CTX_set_max_proto_version(ctx, TLS1_3_VERSION);

你当前调用SSL_CTX_get_min_proto_version返回0,就是因为没有显式执行过上述赋值,也没有加载到有效的系统默认配置。

2. 修改OpenSSL全局配置文件

无需修改代码,对所有调用该OpenSSL库的程序生效:

  • 找到系统的openssl.cnf配置文件,Linux默认路径为/etc/ssl/openssl.cnf,Windows默认在OpenSSL安装目录的bin子目录下
  • 找到[system_default_sect]配置段,添加/修改如下配置:
[system_default_sect]
MinProtocol = TLSv1.2
MaxProtocol = TLSv1.2

修改后保存重启程序即可生效,符合你提到的测试用例校验规则。

3. 编译OpenSSL库时指定全局默认值

编译源码阶段就固化默认值,不需要后续改配置和代码:
编译时给./config指令追加参数即可,示例:

./config -DOPENSSL_TLS_MIN_VERSION=TLS1_2_VERSION -DOPENSSL_TLS_MAX_VERSION=TLS1_2_VERSION

编译安装后的库默认的协议版本范围就会是你指定的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:39:00