У меня проблемы с MySQL и OpenSSL. Я использую MySQL 5.7 и OpenSSL 1.1.0g на Ubuntu 16.04
Независимо от того, какие сертификаты я загружаю, MySQL запускается, но не устанавливает соединение через SSL, если сертификаты проверены. Например, если я разрешаю ему создавать свои собственные сертификаты, это находится в /var/log/mysql/error.log:
2019-02-17T09: 42: 25.666293Z 0 [Примечание] В каталоге данных обнаружены файлы ca.pem, server-cert.pem и server-key.pem. Пытаюсь включить поддержку SSL с их помощью.
2019-02-17T09: 42: 25.666543Z 0 [Предупреждение] CA-сертификат ca.pem самоподписан.
Достаточно нормально. Но: /usr/bin/openssl s_client -connect localhost:3306
дает мне это:
ПОДКЛЮЧЕНО (00000003)
140234876264896: ошибка: 1408F10B: подпрограммы SSL: ssl3_get_record: неправильный номер версии: ../ ssl / record / ssl3_record.c: 252:
Если я создам отдельный CA и самозаверяющие сертификаты с openssl, это не имеет никакого значения - та же ошибка. В крайнем случае я попытался использовать сертификат LetsEncrypt своего веб-сервера с сертификатом LE CA, чтобы избежать использования самозаверяющего сертификата, с тем же результатом.
Оказывается, любое приложение, пытающееся подключиться, например phpMyAdmin, также не работает с ошибкой OpenSSL, если только ему не разрешено небезопасное подключение.
Если я установлю $cfg['Servers'][$i]['ssl_verify'] = false;
в phpMyAdmin/admin/config.inc.php
он подключается через SSL, но с предупреждением «не проверено».
Исходя из этого, я думаю, что это выглядит именно как ошибка CA, а не ошибка сертификата, но поскольку я получаю тот же результат независимо от того, какой сертификат CA настроен, я в растерянности. Какие-либо предложения?