У нас есть клиентское приложение, которое подключается к нашей онлайн-базе данных MySQL (5.1.44-community-log) через соединитель ODBC (сервер является управляемым * выделенным веб-сервером). Это работает очень хорошо. Однако я не могу заставить его работать с использованием SSL. Это то, что я сделал до сих пор:
1. MySQL сервер
У меня есть менеджер сервера *, настроил MySQL с SSL, это 'доказано':
mysql> SHOW VARIABLES LIKE '%ssl%';
что приводит к такому ответу:
+---------------+---------------------------------+
| Variable_name | Value |
+---------------+---------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /***/mysql-cert/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /***/mysql-cert/server-cert.pem |
| ssl_cipher | |
| ssl_key | /***/mysql-cert/server-key.pem |
+---------------+---------------------------------+
Вопрос: правильно ли настроен сервер? Я предполагаю, что это ...
2. Сертификаты
Я купил реальные сертификаты (через моего менеджера сервера). Они находятся в каталоге, показанном выше. Я также скачал из этого каталога client-cert.pem, client-key.pem и ca-cert.pem.
3. Пользователь MySQL с REQUIRE [SSL | X509]
Я создал нового пользователя и затем предоставил ему доступ из любого места (для тестирования) с помощью SSL:
GRANT USAGE ON *.* TO 'somevaliduser'@'%' IDENTIFIED BY PASSWORD 'somevalidpass' REQUIRE X509
4. Клиент ODBC
Я (только что скачал и) установил: mysql-connector-odbc-5.1.8-winx64.msi (64-разрядная версия), поскольку моя машина является 64-разрядной Windows 7 машина (так что это не то, что не так).
И я создал пользовательский DSN, настроив его следующим образом (параметры на вкладках не заданы), который показывает, что он успешно подключается к серверу (но не использует и не запрашивает SSL) (используя некоторого действительного пользователя, который не требует SSL):
Чтобы установить соединение, теперь попробуйте использовать SSL.
Это настроено так, как я читал на MySQL.com. Так что я не на 100% уверен, что установленные параметры верны
Как вы видите, это приводит к ошибке HY000 . Включение трассировки (в конфигурации ODBC) также показывает эту ошибку.
Может кто-нибудь дать мне подсказку о том, как сделать эту работу? Даже если вы знаете только часть решения?