Spec-Zone.ru › MySQL 5.7

6.3.4 Возможности, зависящие от библиотеки SSL

MySQL может быть скомпилирован с использованием OpenSSL или yaSSL, оба из которых обеспечивают шифрованные соединения на основе API OpenSSL:

  • Бинарные дистрибутивы MySQL Enterprise Edition скомпилированы с использованием OpenSSL. Использование yaSSL с MySQL Enterprise Edition невозможно.

  • Бинарные дистрибутивы MySQL Community Edition скомпилированы с использованием yaSSL.

  • Источники дистрибутивов MySQL Community Edition могут быть скомпилированы с использованием либо OpenSSL, либо yaSSL (см. Раздел 2.8.6, «Настройка поддержки библиотек SSL»).

Примечание

Возможно скомпилировать MySQL с использованием yaSSL в качестве альтернативы OpenSSL только до MySQL 5.7.28. Начиная с MySQL 5.7.28, поддержка yaSSL удалена, и все сборки MySQL используют OpenSSL.

OpenSSL и yaSSL предлагают одинаковые базовые функции, но дистрибутивы MySQL, скомпилированные с использованием OpenSSL, имеют дополнительные функции:

  • OpenSSL поддерживает протоколы TLSv1, TLSv1.1 и TLSv1.2. yaSSL поддерживает только протоколы TLSv1 и TLSv1.1.

  • OpenSSL поддерживает более гибкий синтаксис для указания шифров (для переменной системы ssl_cipher и опции клиента --ssl-cipher), а также поддерживает более широкий спектр шифров для выбора. См. Параметры команд для зашифрованных соединений и Раздел 6.3.2, «Протоколы и шифры TLS зашифрованных соединений».

  • OpenSSL поддерживает переменную системы ssl_capath и опцию клиента --ssl-capath. Дистрибутивы MySQL, скомпилированные с использованием yaSSL, этого не делают, так как yaSSL не проверяет никакие каталоги и не следит за цепочкой сертификатов. yaSSL требует, чтобы все компоненты дерева сертификатов CA находились в одном дереве CA и каждый сертификат в файле имел уникальное значение SubjectName. Для решения этой проблемы объедините отдельные файлы сертификатов, составляющие дерево сертификатов, в новый файл и укажите этот файл в качестве значения переменной системы ssl_ca и опции --ssl-ca.

  • OpenSSL поддерживает функцию проверки отзыва сертификатов (для переменных системы ssl_crl и ssl_crlpath и опций клиента --ssl-crl и --ssl-crlpath). В дистрибутивах, скомпилированных с использованием yaSSL, эта функция отсутствует, так как списки отзыва не работают с yaSSL. (yaSSL принимает эти опции, но игнорирует их.)

  • Аккаунты, авторизующиеся с помощью плагина sha256_password, могут использовать файлы ключей RSA для безопасного обмена паролями по незащищённым соединениям. См. Раздел 6.4.1.5, «SHA-256 Плагиновая аутентификация».

  • Сервер может автоматически генерировать недостающие файлы сертификатов SSL и RSA при запуске. См. Раздел 6.3.3.1, «Создание сертификатов SSL и RSA с помощью MySQL».

  • OpenSSL поддерживает больше режимов шифрования для функций AES_ENCRYPT() и AES_DECRYPT(). См. Раздел 12.13, «Функции шифрования и сжатия»

Некоторые связанные с OpenSSL переменные системы и состояния присутствуют только в том случае, если MySQL был скомпилирован с использованием OpenSSL:

  • auto_generate_certs

  • sha256_password_auto_generate_rsa_keys

  • sha256_password_private_key_path

  • sha256_password_public_key_path

  • Rsa_public_key

Чтобы определить, был ли сервер скомпилирован с использованием OpenSSL, проверьте существование любой из этих переменных. Например, это утверждение возвращает строку, если использовался OpenSSL, и пустой результат, если использовался yaSSL:

SHOW STATUS LIKE 'Rsa_public_key';

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/ssl-libraries.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API