MySQL的SSL错误,只有从Windows / OSX连接时

我正在使用openssl生成ssl证书,我正在使用SSLencryption连接到MySQL。 当我从本地主机环境连接时(甚至当我通过服务器公共IP连接时,我也已经成功地从Web服务器框连接),这工作正常。 但是,当我尝试从我的本地开发机器连接时,我得到一个SSL errror。

从主机平台连接时

mysql -u metrics -p -h 45.33.xx –ssl-key = client-key.pem –ssl-ca = ca.pem –ssl-cert = client-cert.pem

input密码:

欢迎来到MySQL监视器。 命令以; 或\ g。

你的MySQL连接ID是136 …

当从Mac开发机器连接时,我用scp把证书/密钥文件复制到我的开发机器上

mysql -u metrics -h 45.33.xx -p –ssl-key = client-key.pem –ssl-cert = client-cert.pem –ssl-ca = ca.pem

input密码:

错误2026(HY000):SSL连接错误:错误:00000001:lib(0):func(0):原因(1)

这是我所做的努力来解决这个问题

  1. 我在服务器和本地机器上生成了cert / key / ca的校验和,它们是相同的
  2. 我已经看了无法连接到MySQL 5.5与SSL服务器故障问题没有想法解决了这个问题
  3. 我已经debuggingSSL通过启动openSSL服务器(在MySQL服务器上),并从我的本地机器连接,再次没有问题。

如果它有所不同,服务器都运行Ubuntu 14.04与opeSSL“OpenSSL 1.0.1f 2014年1月6日”,我从osX 10.10.4与OpenSSL“OpenSSL 1.0.2c 2015年6月12日”

那么有什么想法?

谢谢,

玩笑

这看起来像密码相关的问题。 尝试在服务器和客户端上添加该选项:– --ssl-cipher=AES128-SHA 。 您可以使用任何其他套件在双方openssl ciphers HIGH输出高。

MySQL客户端configuration文件也可能包含ssl-verify-server-cert选项,如果是这样的话,删除它或(更安全)使用服务器证书CN中的域名。

如果仍然失败,您可以:

  1. 用tcpdump或Wireshark嗅探你的连接,看看TLS握手。
  2. 解决Stunnel或VPN的问题。

没有看到证书,这是一个疯狂的猜测。

但是这个看起来非常相关: https : //dev.mysql.com/doc/refman/5.0/en/creating-ssl-files-using-openssl.html

简而言之,客户证书CN必须与CA CN不同。

本文件中的“必须”,“不得”,“要求”,“应该”,“不应该”,“应该”,“不应该”,“推荐”,“可能”按照[RFC 2119]中的描述进行解释。