首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL和SSL连接失败错误2026 (HY000)

MySQL和SSL连接失败错误2026 (HY000)
EN

Stack Overflow用户
提问于 2013-12-09 05:04:27
回答 5查看 80.3K关注 0票数 14

我有一个使用CN=*.mydomain.com的rapidssl颁发的通配符证书。我有一台web服务器和一台mysql数据库服务器。证书对于网站访问工作正常。现在,我想为我的mysql应用程序启用ssl。我已经在mysql服务器中启用了ssl,没有出现任何问题:

代码语言:javascript
复制
+---------------+---------------------------------+
| Variable_name | Value                           |
+---------------+---------------------------------+
| have_openssl  | YES                             |
| have_ssl      | YES                             |

但是,当我尝试使用客户端/ SSL进行连接时,我得到:error2026 (HY000):SSL连接错误:错误:00000001:lib(0):func(0):reason(1)

这似乎记录在这里:http://dev.mysql.com/doc/refman/5.5/en/creating-ssl-certs.html

它说我不能使用相同的CN来进行认证。我不明白如何使用通配符证书。这是否意味着我还必须为mysql连接购买特定于主机的证书?

我不太使用SSL,所以我发现很难弄清楚它应该如何设置。任何提示,即使是显而易见的,在这个阶段都可能会有所帮助。

运行: mysql Ver15.1Distrib5.5.32-MariaDB,用于debian-linux-gnu (x86_64),使用readline 5.1 ubuntu 12.04

EN

回答 5

Stack Overflow用户

发布于 2016-06-23 01:14:04

确保使用指向为--ssl-ca选项指定的ca-cert的绝对路径

相对路径或外壳扩展(如~)将不起作用,并将生成ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation

我在mysql手册页或MySQL手册(http://download.nust.na/pub6/mysql/doc/refman/5.1/en/ssl-options.html)的SSL命令选项中看不到这方面的文档。

票数 13
EN

Stack Overflow用户

发布于 2014-03-06 23:12:02

我有一个类似的问题,显然是从我读过的所有MySQL社区版的二进制(预编译)版本(可能同样适用于MariaDB)来看,它与yaSSL捆绑在一起,而不是openSSL,存在来自该库的一些限制和限制。根据mysql手册(https://dev.mysql.com/doc/refman/5.6/en/secure-connection-options.html)

“yaSSL不在任何目录中查找,也不遵循链接证书tree.yaSSL要求CA证书树的所有组件都包含在单个CA证书树中,并且文件中的每个证书都具有唯一的SubjectName值。要解决此yaSSL限制,请将组成证书树的各个证书文件连接到一个新文件中,并将该文件指定为--ssl-ca选项的值”。

如果您想检查您的MySQL安装使用的是yaSSL还是openSSL,可以按照本论坛(http://mysqlblog.fivefarmers.com/2013/05/14/how-to-tell-whether-mysql-server-uses-yassl-or-openssl/)中的步骤进行操作。它指示查看状态变量‘Rsa_public_key’和‘show status like’%rsa%‘如果您的MySQL安装带有yaSSL,则结果必须为空,因为在带有yaSSL的发行版中不存在这样的变量。

其他可能的原因是您的服务器上的主机名与服务器证书的主题( --ssl-cert参数的自变量)不匹配,用于比较命令的输出

shell> hostname

对于服务器证书中的DNS主题,您可以使用下一个命令来获取它(查看其中显示"X509v3 subject Alternative Name:“的部分):

shell> openssl x509 -in "your-server-certificate" -noout -text

如果这些都不起作用,您可以看到下一页http://milcom.us/2012/11/02/encrypted-mysql-connections/

附言:英语不是我的母语,如有语法错误,敬请谅解

票数 7
EN

Stack Overflow用户

发布于 2014-05-12 09:05:32

我遇到了以下错误:

代码语言:javascript
复制
[root@example ~]$ mysql
ERROR 2026 (HY000): SSL connection error

适用于我的修复:证书中的服务器和客户端“通用名称”必须与CA的不同。更改CNs后,错误已停止;我验证了连接状态:

代码语言:javascript
复制
mysql> status;
...
SSL: Cipher in use is DHE-RSA-AES256-SHA
...

来源:

“重要信息无论您使用哪种方法生成证书和密钥文件,用于服务器和客户端证书/密钥的公用名值都必须与用于CA证书的公用名值不同。否则,证书和密钥文件将不适用于使用OpenSSL编译的服务器。”

http://dev.mysql.com/doc/refman/5.0/en/creating-ssl-certs.html

PS:我没有使用通配符证书和/或第三方CA,我正在创建我自己的签名证书,这对我来说没问题:http://angelcool.net/sphpblog/comments.php?y=14&m=05&entry=entry140511-164525

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20459056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档