如何使用mysql的客户端证书

这涉及到我尝试使用SSLencryption连接到MySQL服务器上的客户端证书。

一些基础知识:服务器是Ubuntu 12.04运行mysql 14.14 Distrib 5.1.69。 客户端是MacOS 10.8.5与MySQL Ver 14.14 Distrib 5.5.25a

有很多方法可能导致这个设置错误,正如许多人在这里和networking上的其他地方所见证的。 在这种情况下,似乎服务器端configuration正确,因为可以使用类似的命令

mysql --ssl-ca=CAcert.pem -u user -ppassword -h host.com -e '\s 

获得一个使用密码的报告。

但是,如果我添加一个客户端证书和密钥,如

 mysql --ssl-ca=CAcert.pem --ssl-cert=clientCert.pem --ssl-key=keyFile -u user -ppassword -h host.com -e '\s' 

这会产生非信息性错误消息'错误2026(HY000):SSL连接错误:错误:00000001:lib(0):func(0):reason(1)'。 服务器错误日志中没有任何内容。

我已经检查过客户端证书可以通过opensslvalidation – 用途sslclient -CAfile CAcert.pem clientCert.pem

返回OK。

CAcert.pem和clientCert.pem的规范名称是不同的。 CAcert.pem,clientCert.pem和keyFile都是用户可读的(甚至使关键的世界不可读)。

不幸的是,考虑到客户端和服务器之间由mysql使用的协议,在这里不可能使用openssl客户端来进行任何debugging。

有什么问题是什么build议? 或者在客户端获取更多debugging信息的方法?