Я пытаюсь установить зашифрованное соединение от клиента командной строки базы данных MySQL к экземпляру базы данных MySQL на AWS.
AWS предоставил комплект сертификатов, который, похоже, содержит все их сертификаты для всех их серверов.
Документы MySQL Создание сертификатов и ключей SSL с использованием OpenSSL говорит, что мне нужно это сделать:
(1) Создать сертификат CA
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem
(2) Создайте сертификат сервера, удалите кодовую фразу и подпишите ее.
server-cert.pem
= открытый ключ
server-key.pem
= закрытый ключ
openssl req -newkey rsa:2048 -days 3600 \
-nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 \
-CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
(3) Создайте сертификат клиента, удалите кодовую фразу и подпишите его.
client-cert.pem
= открытый ключ
client-key.pem
= закрытый ключ
openssl req -newkey rsa:2048 -days 3600 \
-nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem \
-CAkey ca-key.pem -set_serial 01 -out client-cert.pem
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
у меня уже есть ca.pem
(rds -comdated-ca-bundle.pem) из AWS.
Поэтому мне нужно пропустить шаги (1) и (2).
Есть ли у меня открытый ключ сервера ca-key.pem
в пакете AWS?
Если да, как использовать его для выполнения шага (3)?
В Документы AWS - «Поддержка SSL для инстансов БД MySQL» особенно редки и просто говорят:
mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com
-u my-user -p
--ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert
который должен запросить пароль, но просто зависает.
ОБНОВИТЬ
У меня уже настроено и работает соединение для MySQL Workbench и для пула соединений Java JDBC, а проверка работоспособности telnet показывает, что сервер MySQL доступен.
Вам не нужно создавать SSL-сертификаты самостоятельно, просто используйте предоставленные rds-combined-ca-bundle.pem
в mysql
параметры, как говорится в документации.
в конце концов, это не имеет отношения к сертификатам. Некоторые отчаянные поиски через SO дали ответ: Подключение к MySQL из Cygwin
Cygwin и клиент MySQL для Windows несовместимы.