Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过SSL连接到MySQL时获取错误2026(HY000):SSL连接错误:协议版本不匹配_Mysql_Ssl_Openssl - Fatal编程技术网

通过SSL连接到MySQL时获取错误2026(HY000):SSL连接错误:协议版本不匹配

通过SSL连接到MySQL时获取错误2026(HY000):SSL连接错误:协议版本不匹配,mysql,ssl,openssl,Mysql,Ssl,Openssl,我正在使用MySQL,并生成了用于MySQL以启用SSL的证书 以下是SSL配置: mysql> show variables like '%ssl%'; +---------------+----------------------------+ | Variable_name | Value | +---------------+----------------------------+ | have_openssl | YES

我正在使用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

在底部:

如果您使用“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希望RSA私钥采用PKCS#1格式,并带有PEM 标题:

-----BEGIN RSA PRIVATE KEY-----
网上的各种“建议”似乎建议您可以更改PEM 这些PKC的页眉和页脚#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兼容key.pem


Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请参见。在使用编程语言连接MySQL数据库时,有关问题的问题“与编程无关”是什么?
**ERROR 2026 (HY000): SSL connection error: protocol version mismatch**