减少conf中的openssl SECLEVEL仅用于一个连接

问题描述 投票:0回答:1

我正在努力建立与数据库服务器的不加密连接,因为数据库系统不支持 TLS。目前,我正在使用 isql 来验证连接:

isql -v -k "Driver={Driver SQL Server};Server=mysql-server;Database=DATABASE;UID=user;PWD=pwd;"

但是,我遇到了错误代码

0x2746
的问题,表明不支持 TLS。网上查了下,好像把
SECLEVEL
中的
/etc/ssl/openssl.cnf
减少到0就可以解决问题了:

[system_default_sect]
CipherString = DEFAULT@SECLEVEL=0

重启后,连接正常。但由于显而易见的原因,将

SECLEVEL
设置为 0 系统范围并不理想。相反,我更喜欢每个连接配置。所以,我尝试了以下方法:

[system_default_sect]
CipherString = DEFAULT@SECLEVEL=2

[mysql-server]
CipherString = DEFAULT@SECLEVEL=0

但是,这会产生与本文开头提到的相同的错误。 任何关于在不影响系统安全的情况下实现每个连接配置的见解或建议将不胜感激。

谢谢!

ubuntu ssl openssl tls1.2
1个回答
0
投票

您可以创建系统 OpenSSL 配置文件的副本,并对副本中的 SECLEVEL 进行更改。

运行需要使用修改后的配置文件的应用程序时,设置

OPENSSL_CONF
环境变量以指向新的配置文件。

例如

cp /etc/ssl/openssl.cnf myconf.cnf
# Edit myconf.cnf as appropriate
OPENSSL_CONF=myconf.cnf isql -v -k "Driver={Driver SQL Server};Server=mysql-server;Database=DATABASE;UID=user;PWD=pwd;"
© www.soinside.com 2019 - 2024. All rights reserved.