通过SSL连接到MySQL时获取错误2026(HY000):SSL连接错误:协议版本不匹配
我正在使用MySQL,并生成了用于MySQL以启用SSL的证书 以下是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> 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**