使用 SHA2 连接到 MySQL

Connect to MySQL using SHA2

我可以访问 2 MySQL 服务器(一台用于生产,一台用于开发)。我有他们的主机、端口、数据库、用户、密码和 CA 证书文件。我可以使用 mysql workbench 和 windows cmd 连接到两者。 (是的,我现在必须处理 windows)

现在根据安全要求,我需要使用协议TLSv1.2 或TLSv1.2 以及Cipher AES256 和SHA2 进行连接。这些目前没有在开发服务器上强制执行,但它们在生产服务器上,我现在无法连接到生产服务器。

我满足 AES256 和 TLSv1.1 要求。

但是如何让我的客户端使用 SHA2 进行连接?当我使用 AES256 和 SHA256 或 SHA384 指定密码时,Workbench 和 CMD 都不起作用。但是如果我指定像 AES256-SHA 这样的东西,它就可以正常工作。这是否意味着它不受支持,我需要更新一些东西?默认情况下,它使用 'DHE-RSA-AES256-SHA'

如果我尝试在产品中设置 AES256-SHA2 密码之一,我会收到错误消息:

ERROR 2026 (HY000): SSL connection error: Failed to set ciphers to use

如果我没有指定任何密码,我会得到错误

ERROR 2026 (HY000): SSL connection error: unknown error number

我在 Whosebug、mysql 开发人员和 mysql 错误网站上查找了多篇文章,none 似乎解决了这个问题。

我最终必须让它与 Access 女士一起工作,因为 MySQL 将成为它的后端。我什至尝试创建系统 DSN,但弹出相同的错误。

也许 ODBC 连接器不支持 SHA2?我在任何地方都找不到任何关于此的内容。

我有最新版本的 ODBC 和 MySQL Workbench。

事实证明,MySQL Workbench 和 ODBC 的社区版本(免费)是使用 yaSSL 编译的,而商业版本使用 OpenSSL。 yaSSL 不支持 SHA2。获得商业版本后,我就可以使用 SHA2 进行连接了。