Если кто-то может сказать мне, что я делаю неправильно, было бы здорово.
Если нет, я соглашусь на любое другое решение для цели.
Мне нужно удаленно вставлять строки mysql. И я хочу, чтобы это было безопасно. Я пишу все это в jruby. Спасибо, вот что я сделал до сих пор,
Я получаю:
ОШИБКА 2026 (HY000): ошибка подключения SSL
При удаленном доступе к нему с помощью ssl:
mysql -h host -u ssl_test -p --ssl-ca = ca-cert.pem
Я могу удаленно подключиться к пользователю без необходимости ssl. (mysql -h host -u user -p)
Я также могу подключиться к этому пользователю локально с помощью
mysql -h host -u ssl_test -p --ssl-ca = ca-cert.pem
ca-cert.pem те же, и разрешения для ssl_test:
+--------------+----------------+----------+
| Host | User | ssl_type |
+--------------+----------------+----------+
| % | ssl_test | ANY |
Я сгенерировал ca-cert и server-cert с помощью:
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem
openssl req -newkey rsa: 2048 -days 1000 -nodes -keyout server-key.pem > server-req.pem
openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem
прямо из http://dev.mysql.com/doc/mysql-security-excerpt/5.0/en/secure-create-certs.html
Я также попытался создать клиентский материал для x509, но он возвращает ту же ошибку.
Я, наконец, понял это на самом деле. Видимо мой клиент - 5.1.x не совместим с 5.0.77 mysqld (yum install).
Единственное сообщение об ошибке, которое вы получаете, это ошибка подключения ssl.
Я также узнал об этом, подключившись удаленно к серверу ubuntu mysql.
В настоящее время я создаю более новую версию mysqld на моем сервере centos.
Вы использовали одно и то же общее имя для сертификата сервера и сертификата клиента? http://orensol.com/2010/06/21/error-2026-hy000-ssl-connection-error-the-solution/
Одна вещь, которую нужно проверить, - это ваш клиент сертификат и сертификат сервера имеют одинаковое общее имя. Youve вероятно, прошел сертификат и (как и я) просто ввел то же общее имя для оба не заметили.
Это неприятное сообщение об ошибке ничего не скажу, а theres ничего в журнале ошибок не означает, что пошло не так. Поэтому помните - когда создание собственных сертификатов для сервер mysql, используйте разные общие имена для клиента и сервера!