尝试连接到localhost mysql服务器时出现“ERROR 2026(HY000):SSL连接错误:ASN:其他签名确认错误”

时间:2013-09-10 11:55:42

标签: mysql ssl

我跟着这篇文章 http://www.madirish.net/214, 生成的服务器证书为

SSL-CA = server.csr

SSL证书= server.cert

SSL密钥= server.key

和客户证书 SSL的CA =的client.csr

SSL证书= client.cert

当我尝试连接mysql客户端时,我得到了以下结果:

[root @ sumit mysql-cert] #mysql -uroot -padmin --ssl-ca = / etc / ssl / mysql-cert / client.csr --ssl-cert = / etc / ssl / mysql-cert / client.cert --ssl-key = / etc / ssl / mysql-cert / server.key

警告:在命令行界面上使用密码可能不安全。

ERROR 2026(HY000):SSL连接错误:ASN:其他签名确认错误

我从远程计算机尝试了相同的命令并得到了以下错误

ERROR 2026(HY000):SSL连接错误 帮助我摆脱这个。

2 个答案:

答案 0 :(得分:1)

正如查理所说,我认为.csr文件是错误的 - 我遇到了同样的问题,试图遵循同一篇文章(并遇到了同样的错误)。我按照这篇文章(https://dev.mysql.com/doc/refman/5.0/en/creating-ssl-certs.html)来生成密钥和证书,并且有效。要点:

# Create CA certificate
shell> openssl genrsa 2048 > ca-key.pem
shell> openssl req -new -x509 -nodes -days 3600 \
     -key ca-key.pem -out ca-cert.pem

# Create server certificate, remove passphrase, and sign it
# server-cert.pem = public key, server-key.pem = private key
shell> openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout server-key.pem -out server-req.pem
shell> openssl rsa -in server-key.pem -out server-key.pem
shell> openssl x509 -req -in server-req.pem -days 3600 \
     -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

# Create client certificate, remove passphrase, and sign it
# client-cert.pem = public key, client-key.pem = private key
shell> openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout client-key.pem -out client-req.pem
shell> openssl rsa -in client-key.pem -out client-key.pem
shell> openssl x509 -req -in client-req.pem -days 3600 \
     -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

然后ca-cert.pem双方都是ssl-ca,服务器获取ssl-cert和ssl-key的server- [key / cert] .pem,客户端获取客户端。

答案 1 :(得分:0)

我遇到了一组以前工作正常的证书和客户端/服务器环境的错误签名错误。我认为在我没有考虑的环境中必须改变一些东西,因为使用它们的文件和方法都是相同的。浪费了很多时间后,我发现CA已经过期了!在生成证书时,我必须不小心弄乱了过期设置。在一个理想的世界中,这个错误信息会说更有意义的东西,但是因为它没有 - 如果你遇到这个模糊的错误,这里有一些重要的(明显的)步骤:

尝试针对CA验证您的证书:

sudo openssl verify -CAfile [CA PATH] [CERT PATH]

尝试以文本形式查看CA:

sudo openssl x509 -in [CA PATH] -text -noout