【问题标题】:On connecting to MySQL via SSL getting ERROR 2026 (HY000): SSL connection error: protocol version mismatch [closed]通过 SSL 连接到 MySQL 时出现错误 2026(HY000):SSL 连接错误:协议版本不匹配 [关闭]
【发布时间】:2015-04-25 23:24:52
【问题描述】:

我正在使用 MySQL 并生成证书以与 MySQL 一起使用以启用 SSL。

这里是 SSL 配置:

mysql> show variables like '%ssl%';
+---------------+----------------------------+
| Variable_name | Value                      |
+---------------+----------------------------+
| have_openssl  | YES                        |
| have_ssl      | YES                        |
| ssl_ca        | /etc/mysql/ca-cert.pem     |
| ssl_capath    |                            |
| ssl_cert      | /etc/mysql/server-cert.pem |
| ssl_cipher    |                            |
| ssl_key       | /etc/mysql/server-key.pem  |
+---------------+----------------------------+
7 rows in set (0.00 sec)

它似乎工作正常,看起来我在 MySQL 服务器上应用证书做得很好。

通过远程主机创建与 MySQL 服务器的连接存在问题。

mysql -u app1 -p -h 192.168.33.131 --ssl --ssl-capath=<path>/ssl/ --ssl-ca=<path>/ca-cert.pem --ssl-cert=<path>/client-cert.pem --ssl-key=<path>/client-key.pem
Enter password:
ERROR 2026 (HY000): SSL connection error: protocol version mismatch

证书似乎有一些问题,或者可能是其他问题。

环境:

  OS:      Ubuntu 14.04
  MySQL:   5.5.41
  OpenSSL: OpenSSL 1.0.1f 6 Jan 2014

【问题讨论】:

标签: mysql ssl openssl


【解决方案1】:

https://bugs.mysql.com/bug.php?id=64870

在底部:

如果您使用“openssl req -newkey rsa:2048 ...”来生成密钥, 请注意,openssl 1.0 和更新版本现在存储私钥 以 PKCS#8 格式代替 PKCS#1。

使 PKCS#8 成为私钥的默认写入格式,替换 传统格式。这种形式是标准化的,更安全的,不 包括一个隐式的 MD5 依赖项。 [史蒂夫汉森]

这些键将有一个 PEM 标头,例如:

-----BEGIN PRIVATE KEY-----

如果 MySQL 使用 YaSSL 作为其 SSL 实现进行编译(我 相信是默认值),这些键不会加载,MySQL会抱怨 启动时:[警告] 设置 SSL 失败 [警告] SSL 错误: 无法获取私钥

YaSSL 需要 PKCS#1 格式的 RSA 私钥,带有 PEM 标题:

-----BEGIN RSA PRIVATE KEY-----

网上的各种“建议”似乎都建议您可以更改 PEM 这些 PKCS#8 私钥的页眉和页脚以使它们工作 使用 MySQL/yaSSL。这确实会阻止 MySQL 抱怨 启动,但不幸的是,针对 MySQL 的 SSL 连接仍然会 失败,例如:

**ERROR 2026 (HY000): SSL connection error: protocol version mismatch**

要解决此问题,请将密钥转换为较旧的 PKCS#1 RSAPrivateKey 格式 使用“openssl rsa”。 $ openssl rsa -in key-from-openssl-1.pem -out pkcs1-yassl-compatible-key.pem

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2020-08-22
    • 1970-01-01
    • 2019-04-22
    • 2023-04-01
    • 2019-06-06
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多