环境为 RedHat 8 ,包含 CentOS 8。
不论 Python 还是 php,调用ODBC连接 SQL Server 会报这个错误:
SSL Provider: [error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small]
具体原因是,RadHat 8 系统中默认提高了安全等级,禁用了 TLS1.0 TLS1.1 SSH2 的使用,并且不允许1024位DH密钥。
参考资料:https://access.redhat.com/articles/3642912
解决办法:
不建议降低 RedHat 8 的缺省安全等级,如果你们的业务比较旧或数据库版本较低,迫不得已,那以 root 用户执行降级:
update-crypto-policies --set LEGACY