我曾经运行过一个服务,它通过证书和密钥访问 mysql,但不需要密码。现在我的根证书过期了,这让我陷入了困境。然而,这是正在运行的:
mysql --ssl --ssl-verify-server-cert --ssl-cert mlist.cert.pem --ssl-key mlist.key.pem --host mysql.example.com -u mlist -- MList
但是当我指定 CA 时,事情就出错了:
mysql --ssl --ssl-verify-server-cert --ssl-ca cacert.pem --ssl-cert mlist.cert.pem --ssl-key mlist.key.pem --host mysql.example.com -u mlist -- MList
ERROR 2026 (HY000): SSL connection error
但是,对于和,特别是对于设置为服务器证书选项,返回openssl verify -CAfile cacert.pem somecert.pem
。根据 wireshark 跟踪,显然该证书实际上是由 mysql 服务器发送的。OK
mlist.cert.pem
mysql.cert.pem
ssl-cert
my.cnf
mysql 客户端有点旧:5.0.51a。mysql 服务器是 5.5.44。新 CA 有一个略微不同的主题,即 latin1 编码字符现在编码为 utf8。
有没有什么系统调试的方法?