MySQL TLS проверка через Сбои OpenSSL - PullRequest
0 голосов
/ 04 мая 2019

Мой экземпляр MySQL настроен для использования TLS.Я проверил это, преднамеренно используя ненадежные сертификаты и наблюдая, как клиенты не могут подключиться (с соответствующим сообщением об ошибке), а затем перезапускаю службу MySQL с настроенными доверенными сертификатами и успешно подключая клиентов.

Я хотел сделать последнюю проверку, используя s_client из openssl, но не могу заставить его работать.Когда я выполняю приведенную ниже команду, я получаю сообщение об ошибке «SSL23_GET_SERVER_Hello: неизвестный протокол», за которым следует «нет сертификата однорангового узла», за которым следует еще немного текста.Однако, когда я использую одну и ту же команду для экземпляра Tomcat с поддержкой TLS и для порта удаленного рабочего стола, я могу установить соединение и просмотреть сертификат сервера.Что я делаю неправильно?MySQL выполняет дополнительное предварительное согласование до того, как начинается квитирование TLS?

openssl s_client -showcerts -connect host:port

Ответы [ 2 ]

1 голос
/ 04 мая 2019

Хотя MySQL может использовать TLS, это не общий внешний уровень. Перед запуском TLS появляется небольшое количество преамбулы. Командная строка openssl не знает об этом.

Используйте клиент mysql с опциями TLS для проверки сертификата клиента.

0 голосов
/ 05 мая 2019

Я пометил ответ @danblack как правильный ответ на вопрос. Тем не менее, я хочу предоставить больше информации на случай, если это поможет кому-то еще.

небольшое количество преамбулы, которая появляется перед запуском TLS

, на который он ссылается, можно найти на GitHub здесь .

...