Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得;错误2026(HY000):SSL连接错误:ASN:其他签名确认错误”;尝试连接到本地主机mysql服务器时_Mysql_Ssl - Fatal编程技术网

获得;错误2026(HY000):SSL连接错误:ASN:其他签名确认错误”;尝试连接到本地主机mysql服务器时

获得;错误2026(HY000):SSL连接错误:ASN:其他签名确认错误”;尝试连接到本地主机mysql服务器时,mysql,ssl,Mysql,Ssl,我看了这篇文章 , 生成的服务器证书为 ssl ca=server.csr ssl证书=server.cert ssl密钥=server.key 和客户端证书作为 ssl ca=client.csr ssl证书=client.cert 当我尝试连接mysql客户端时,得到以下结果: [root@sumitmysql证书]#mysql-uroot-padmin--sslca=/etc/ssl/mysql cert/client.csr--ssl cert=/etc/ssl/mysql cert/c

我看了这篇文章 , 生成的服务器证书为

ssl ca=server.csr

ssl证书=server.cert

ssl密钥=server.key

和客户端证书作为 ssl ca=client.csr

ssl证书=client.cert

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

[root@sumitmysql证书]#mysql-uroot-padmin--sslca=/etc/ssl/mysql cert/client.csr--ssl cert=/etc/ssl/mysql cert/client.cert--ssl key=/etc/ssl/mysql cert/server.key

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

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

我从远程机器上尝试了相同的命令,得到了以下错误

错误2026(HY000):SSL连接错误
帮我摆脱这一困境。

正如Charley指出的那样,我认为.csr文件是错误的——我在阅读同一篇文章时遇到了相同的问题(并且遇到了相同的错误)。我按照本文()生成了密钥和证书,这很有效。要点:

# 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,服务器获取服务器-[key/cert].pem用于ssl证书和ssl密钥,客户端获取客户端密钥。

我在一组证书和客户端/服务器环境中遇到了相同的错误签名错误,这些环境以前工作正常。我假设在我没有考虑的环境中一定发生了一些变化,因为文件和使用它们的方法都是相同的。在浪费了很多时间之后,我发现CA已经过期了!我一定是在生成证书时不小心弄乱了过期设置。在理想情况下,此错误消息可能会说一些更有意义的话,但事实并非如此——如果您遇到此模糊错误,这里有几个(明显的)重要步骤:

尝试根据CA验证您的证书:

sudo openssl verify -CAfile [CA PATH] [CERT PATH]
尝试以文本形式查看CA:

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

.csr是我通常与证书签名请求关联的扩展。这不是我期望在CA证书上看到的扩展。您是否可能对您的--ssl ca使用了错误的文件?