通过OpenSSL进行的MySQL TLS验证失败

时间:2019-05-04 02:03:14

标签: mysql ssl openssl tls1.2

我将我的MySQL实例配置为使用TLS。我已经通过有意使用不受信任的证书并观察客户端无法连接(带有适当的错误消息),然后使用配置的受信任证书重新启动MySQL服务并使客户端成功连接,从而验证了这一点。

我想使用openssl的s_client做最后检查,但无法正常工作。当我执行以下命令时,出现错误消息“ SSL23_GET_SERVER_Hello:未知协议”,然后显示“无可用对等证书”,然后显示更多文本。但是,当我对启用TLS的Tomcat实例和远程桌面端口使用相同的命令时,便能够建立连接并查看服务器的证书。我究竟做错了什么?在TLS握手开始之前,MySQL会做一些额外的预协商吗?

openssl s_client -showcerts -connect host:port

2 个答案:

答案 0 :(得分:1)

虽然MySQL可能使用TLS,但这不是总的外部层。在TLS启动之前,会发生少量的前导。 openssl命令行不知道这一点。

使用带有TLS选项的mysql客户端来测试客户端证书。

答案 1 :(得分:0)

当他回答问题时,我将@danblack的回复标记为正确。但是,我想提供更多信息,以防其他人使用。

  

在TLS启动之前发生的少量前同步码

他所指的

可以在GitHub here上找到。