如何配置curl或openssl使其默认使用TLS1.2而非TLS1.3
配置curl/openssl默认使用TLS1.2的方案
方案1:修改curl配置文件(推荐,仅影响curl工具)
curl支持通过配置文件设置全局默认参数,无需每次手动指定TLS版本参数,影响范围可控:
- 仅对当前用户生效:编辑用户主目录下的
~/.curlrc文件(如果文件不存在直接新建即可),添加如下两行内容:
tlsv1.2 tls-max 1.2
- 对系统所有用户生效:编辑全局curl配置文件(通常路径为
/etc/curlrc,部分自定义编译的curl路径为/usr/local/etc/curlrc),添加和上面相同的内容即可。
配置完成后直接执行curl命令就会默认使用TLS1.2协议,可执行curl -v --key keys/client.key --cert certs/client.crt https://172.99.197.118:5000/metrics -k验证,查看握手日志确认TLS版本为1.2即可。
方案2:修改openssl全局配置(影响所有调用openssl的程序)
如果需要让系统内所有依赖openssl的服务、工具都默认使用TLS1.2,可以修改openssl的系统级配置:
- 备份原配置文件:
cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak - 编辑
/etc/ssl/openssl.cnf文件,在文件最开头添加如下配置:
openssl_conf = default_conf
- 在文件末尾添加如下配置区块:
[default_conf] ssl_conf = ssl_sect [ssl_sect] system_default = system_default_sect [system_default_sect] MinProtocol = TLSv1.2 MaxProtocol = TLSv1.2
- 保存退出后配置即生效,所有调用openssl的程序都会默认使用TLS1.2作为通信的TLS版本。
注意:修改openssl全局配置会影响系统全部依赖openssl的组件,操作前请确认其他业务对TLS版本没有更高要求,避免业务异常。
内容的提问来源于stack exchange,提问作者Raghavendra
相关产品推荐
相关产品推荐

