Spec-Zone.ru › MySQL 5.7

4.4.5 mysql_ssl_rsa_setup — Создание файлов SSL/RSA

Эта программа создаёт файлы сертификата и ключа SSL, а также файлы пар ключей RSA, необходимые для поддержки защищённых соединений с использованием SSL и защищённого обмена паролями с использованием RSA по незащищённым соединениям, если эти файлы отсутствуют. mysql_ssl_rsa_setup также может быть использован для создания новых файлов SSL, если существующие истекли.

Примечание

mysql_ssl_rsa_setup использует команду openssl, поэтому его использование зависит от наличия OpenSSL на вашей машине.

Другой способ генерации файлов SSL и RSA для дистрибутивов MySQL, скомпилированных с использованием OpenSSL, — это настройка автоматического их создания сервером. См. Раздел 6.3.3.1, «Создание сертификатов и ключей SSL и RSA с помощью MySQL».

Важно

mysql_ssl_rsa_setup снижает барьер для использования SSL, упрощая генерацию необходимых файлов. Однако сертификаты, созданные mysql_ssl_rsa_setup, являются самоподписанными, что не очень безопасно. После приобретения опыта работы с файлами, созданными mysql_ssl_rsa_setup, рассмотрите возможность получения сертификата CA от зарегистрированного центра сертификации.

Вызов mysql_ssl_rsa_setup выглядит так:

mysql_ssl_rsa_setup [options]

Типичные опции — --datadir для указания места создания файлов и --verbose для отображения команд openssl, выполняемых mysql_ssl_rsa_setup.

mysql_ssl_rsa_setup пытается создать файлы SSL и RSA, используя набор имён файлов по умолчанию. Он работает следующим образом:

  1. mysql_ssl_rsa_setup проверяет наличие двоичного файла openssl в местах, указанных переменной среды PATH. Если openssl не найден, mysql_ssl_rsa_setup ничего не делает. Если openssl присутствует, mysql_ssl_rsa_setup ищет файлы SSL и RSA по умолчанию в каталоге данных MySQL, указанном опцией --datadir, или в каталоге данных по умолчанию, если опция --datadir не указана.

  2. mysql_ssl_rsa_setup проверяет каталог данных на наличие файлов SSL с такими именами:

    ca.pem
    server-cert.pem
    server-key.pem
    
  3. Если какой-либо из этих файлов присутствует, mysql_ssl_rsa_setup не создаёт файлы SSL. В противном случае он вызывает openssl для их создания, а также некоторых дополнительных файлов:

    ca.pem               Self-signed CA certificate
    ca-key.pem           CA private key
    server-cert.pem      Server certificate
    server-key.pem       Server private key
    client-cert.pem      Client certificate
    client-key.pem       Client private key
    

    Эти файлы позволяют устанавливать защищённые соединения клиентов с использованием SSL; см. Раздел 6.3.1, «Настройка MySQL для использования защищённых соединений».

  4. mysql_ssl_rsa_setup проверяет каталог данных на наличие файлов RSA с такими именами:

    private_key.pem      Private member of private/public key pair
    public_key.pem       Public member of private/public key pair
    
  5. Если какой-либо из этих файлов присутствует, mysql_ssl_rsa_setup не создаёт файлы RSA. В противном случае он вызывает openssl для их создания. Эти файлы обеспечивают защищённый обмен паролями с использованием RSA по незащищённым соединениям для учётных записей, аутентифицированных плагином sha256_password; см. Раздел 6.4.1.5, «Плагин аутентификации SHA-256».

Сведения о характеристиках файлов, созданных mysql_ssl_rsa_setup, см. в разделе 6.3.3.1, «Создание сертификатов и ключей SSL и RSA с помощью MySQL».

При запуске сервер MySQL автоматически использует файлы SSL, созданные mysql_ssl_rsa_setup, для включения SSL, если не указаны явные опции SSL, кроме --ssl (возможно, вместе с ssl_cipher). Если вы предпочитаете явно указать файлы, вызывайте клиентов с опциями --ssl-ca, --ssl-cert и --ssl-key при запуске, чтобы указать имена файлов ca.pem, server-cert.pem и server-key.pem соответственно.

Сервер также автоматически использует файлы RSA, созданные mysql_ssl_rsa_setup, для включения RSA, если не указаны явные опции RSA.

Если сервер включил SSL, клиенты по умолчанию используют SSL для соединения. Для явного указания файлов сертификата и ключа используйте опции --ssl-ca, --ssl-cert и --ssl-key для указания файлов ca.pem, client-cert.pem и client-key.pem соответственно. Однако, возможно, потребуется дополнительная настройка клиента, так как mysql_ssl_rsa_setup по умолчанию создаёт эти файлы в каталоге данных. Разрешения для каталога данных обычно позволяют доступ только системному аккаунту, выполняющему сервер MySQL, поэтому программы клиентов не могут использовать файлы, расположенные там. Чтобы сделать файлы доступными, скопируйте их в каталог, доступный для чтения (но не для записи) клиентами:

  • Для локальных клиентов можно использовать каталог установки MySQL. Например, если каталог данных является подкаталогом каталога установки и ваше текущее расположение — каталог данных, вы можете скопировать файлы так:

    cp ca.pem client-cert.pem client-key.pem ..
    
  • Для удалённых клиентов распространите файлы через защищённый канал, чтобы предотвратить их подмену во время передачи.

Если файлы SSL, используемые для установки MySQL, истекли, вы можете использовать mysql_ssl_rsa_setup для создания новых:

  1. Остановите сервер.

  2. Переименуйте или удалите существующие файлы SSL. Возможно, сначала вы захотите сделать их резервную копию. (Файлы RSA не истекают, поэтому нет необходимости их удалять. mysql_ssl_rsa_setup видит, что они существуют, и не перезаписывает их.)

  3. Запустите mysql_ssl_rsa_setup с опцией --datadir для указания места создания новых файлов.

  4. Перезапустите сервер.

mysql_ssl_rsa_setup поддерживает следующие параметры командной строки, которые могут быть указаны в командной строке или в группах [mysql_ssl_rsa_setup], [mysql_install_db] и [mysqld] файла параметров. Сведения о файлах параметров, используемых программами MySQL, см. в разделе 4.2.2.2, «Использование файлов параметров».

Таблица 4.11 Параметры mysql_ssl_rsa_setup

Таблица 4.11 Параметры mysql_ssl_rsa_setup
Имя параметра Описание
--datadir Путь к каталогу данных
--help Отобразить сообщение справки и завершить работу
--suffix Суффикс для атрибута имени общего домена сертификата X.509
--uid Имя эффективного пользователя для использования в разрешениях файлов
--verbose Подробный режим
--version Отобразить информацию о версии и завершить работу

  • --help, ?

    Формат командной строки --help

    Отобразить сообщение справки и завершить работу.

  • --datadir=dir_name

    Формат командной строки --datadir=dir_name
    Тип Имя каталога

    Путь к каталогу, который mysql_ssl_rsa_setup должен проверять на наличие файлов SSL и RSA по умолчанию и в котором он должен создавать файлы, если они отсутствуют. По умолчанию используется скомпилированный каталог данных.

  • --suffix=str

    Формат командной строки --suffix=str
    Тип Строка

    Суффикс для атрибута имени общего домена в сертификатах X.509. Значение суффикса ограничено 17 символами. По умолчанию используется значение, основанное на номере версии MySQL.

  • --uid=name, -v

    Формат командной строки --uid=name

    Имя пользователя, который должен быть владельцем созданных файлов. Значение — имя пользователя, а не числовой идентификатор пользователя. В отсутствие этого параметра файлы, созданные mysql_ssl_rsa_setup, принадлежат пользователю, который его выполняет. Этот параметр действителен только если вы выполняете программу как root на системе, которая поддерживает системный вызов chown().

  • --verbose, -v

    Формат командной строки --verbose

    Режим подробного вывода. Создать больше вывода о том, что делает программа. Например, программа показывает команды openssl, которые она выполняет, и выводит информацию о том, пропускает ли она создание файлов SSL или RSA, потому что некоторые файлы по умолчанию уже существуют.

  • --version, -V

    Формат командной строки --version

    Отобразить информацию о версии и завершить работу.

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

Spec-Zone.ru

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