问题描述
今天在更新了最新版Navicat Premium 12.1.22之后,按照之前使用11版本的配置,在SSL配置中选择好CA证书、客户端key和客户端cer,使用正确的用户名密码,测试无法连接,提示如下:
2026 - SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small

所有的配置和使用Navicat Premium 11版本时都是一样的,但是无法连接
我使用的是Apache+Mysql+PHP的环境
解决方案
在Navicat Premium 12版本中配置SSL信息时,输入和Apache(根据自己的服务器环境决定)配置的SSLCipherSuite指令相同的字符串,即可让Navicat强制使用和服务器一样的SSLCipherSuite信息,即可连接成功。

问题分析
查找相关资料,判断可能是Navicat12版本中由于安全考虑,会对SSL连接的相关安全标准进行强制要求,而服务器中配置的环境又和这个强制要求不匹配,所以需要让Navicat按照服务器的标准来进行连接。而11版本面世比较早,并没有这个强制要求,所以不需要进行配置。
这个文章给了一些参考:参考文章
关键信息为如下语句,给了我一定的启发
You should use 2048-bit Diffie-Hellman groups or larger. You should not be using 512-bit or 1024-bit Diffie-Hellman groups.
The first thing to check for is your cipher list string. It should be similar to:
“HIGH:!aNULL:!MD5:!RC4”
后记
我的这个解决方案只是临时应急的处理方式,随着时代的进步,以前安全的协议和标准可能变得不那么安全了,所以需要使用更复杂、安全级别更高的协议和方式,所以万全之策还是仔细研究一下SSLCipherSuite更加安全合理的配置,提高服务器环境的安全级别。
希望对遇到同样问题的人有所帮助。
在升级到Navicat Premium 12.1.22后,使用SSL连接MySQL出现2026错误。通过在Navicat中设置与Apache相同SSLCipherSuite字符串,强制匹配服务器标准,成功解决问题。该问题可能因Navicat12的安全标准提升导致,建议长期解决方案是优化SSLCipherSuite配置以提高服务器安全级别。

3900

被折叠的 条评论
为什么被折叠?



