Я получаю ошибку SSL соединения: Unable to get private key

  • CA (это промежуточный сертификат) Private KEY ECDSA
  • SERVER-CERT получен от CA - Private KEY ECDSA
  • CLIENT-CERT получен от CA - Private KEY ECDSA

Я использую закрытый ключ ECDSA (сертификат клиента) и сертификат для создания SSL соединения с базой данных MYSQL. Ключ не содержит парольной фразы (не зашифрован)

Чтобы расшифровать закрытый ключ:

openssl ec -in db_key1.pem -out db_key.pem

Пользователю дается REQUIRE SSL:

GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'%' IDENTIFIED BY 'secret' REQUIRE SSL;
FLUSH PRIVILEGES;

Когда я подключаюсь с помощью следующей команды:

mysql --verbose  --ssl-ca=root.pem  --ssl-cert=db.pem --ssl-key=db_key.pem --host database --port 3306 -u ssluser -p

Я получаю следующую ошибку:

ERROR 2026 (HY000): SSL connection error: Unable to get private key

Моей первоначальной догадкой было то, что для этих файлов не установлены соответствующие разрешения, и тогда я добавил эти файлы в mysql:mysql. Но я все равно получаю ту же ошибку.

MYSQL поддерживает только RSA или поддерживает ECDSA. И большая часть документации основана на RSA.

В документации я вижу, что поддерживаются следующие шифры.

ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
DHE-DSS-AES128-SHA
DHE-RSA-AES128-SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
DHE-RSA-AES256-SHA
AES128-GCM-SHA256
DH-DSS-AES128-GCM-SHA256
ECDH-ECDSA-AES128-GCM-SHA256
AES256-GCM-SHA384
DH-DSS-AES256-GCM-SHA384
ECDH-ECDSA-AES256-GCM-SHA384
AES128-SHA256
DH-DSS-AES128-SHA256
ECDH-ECDSA-AES128-SHA256
AES256-SHA256
DH-DSS-AES256-SHA256
ECDH-ECDSA-AES256-SHA384
AES128-SHA
DH-DSS-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES256-SHA
DH-DSS-AES256-SHA
ECDH-ECDSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DH-RSA-AES128-GCM-SHA256
ECDH-RSA-AES128-GCM-SHA256
DH-RSA-AES256-GCM-SHA384
ECDH-RSA-AES256-GCM-SHA384
DH-RSA-AES128-SHA256
ECDH-RSA-AES128-SHA256
DH-RSA-AES256-SHA256
ECDH-RSA-AES256-SHA384
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
DHE-DSS-AES128-SHA
DHE-RSA-AES128-SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
DHE-RSA-AES256-SHA
AES128-SHA
DH-DSS-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES256-SHA
DH-DSS-AES256-SHA
ECDH-ECDSA-AES256-SHA
DH-RSA-AES128-SHA
ECDH-RSA-AES128-SHA
DH-RSA-AES256-SHA
ECDH-RSA-AES256-SHA
DES-CBC3-SHA

И я попытался установить --ssl-cipher='ECDHE-ECDSA-AES128-GCM-SHA256' в моей команде mysql

2
задан 1 December 2017 в 07:26
1 ответ

Оказалось, что это ошибка / ограничение на сервере MySQL.

0
ответ дан 3 December 2019 в 14:06

Теги

Похожие вопросы