5.4.82 mysql_ssl_set()
bool
mysql_ssl_set(MYSQL *mysql,
const char *key,
const char *cert,
const char *ca,
const char *capath,
const char *cipher)
Описание
Начиная с MySQL 8.0.35, mysql_ssl_set() устарела и может быть удалена в будущих выпусках MySQL. Существуют эквивалентные параметры TLS mysql_options() для всех mysql_ssl_set() параметров.
mysql_ssl_set() используется для установления защищённых соединений с использованием SSL. Аргумент mysql должен быть корректным обработчиком соединения. Любые неиспользуемые аргументы SSL могут быть заданы как NULL.
Если используется, mysql_ssl_set() должен быть вызван до mysql_real_connect(). mysql_ssl_set() ничего не делает, если поддержка SSL не включена в библиотеке клиента.
Вызов mysql_ssl_set() для получения защищённого соединения необязателен, так как по умолчанию программы MySQL пытаются подключиться с шифрованием, если сервер поддерживает защищённые соединения, возвращаясь к незащищённому соединению, если защищённое соединение не может быть установлено (см. ). mysql_ssl_set() может быть полезен приложениям, которые должны указать конкретные сертификаты и ключи, алгоритмы шифрования и т. д.
mysql_ssl_set() задаёт информацию SSL, такую как сертификаты и ключи для установления защищённого соединения, если такие соединения доступны, но не налагает никаких требований к тому, что полученное соединение должно быть защищённым. Для требования защищённого соединения используйте метод, описанный в разделе 3.6.1 «Поддержка защищённых соединений».
Для дополнительной безопасности относительно той, которую предоставляет стандартное шифрование, клиенты могут предоставить сертификат УЦ, соответствующий используемому сервером, и включить проверку идентичности имени хоста. Таким образом, сервер и клиент доверяют одному и тому же сертификату УЦ, а клиент проверяет, что хост, к которому он подключился, является тем, который был задуман. Подробности см. в разделе 3.6.1 «Поддержка защищённых соединений».
mysql_ssl_set() — это функция удобства, которая по существу эквивалентна этому набору вызовов mysql_options():
mysql_options(mysql, MYSQL_OPT_SSL_KEY, key);
mysql_options(mysql, MYSQL_OPT_SSL_CERT, cert);
mysql_options(mysql, MYSQL_OPT_SSL_CA, ca);
mysql_options(mysql, MYSQL_OPT_SSL_CAPATH, capath);
mysql_options(mysql, MYSQL_OPT_SSL_CIPHER, cipher);
Из-за этого эквивалента приложения вместо вызова mysql_ssl_set() могут напрямую вызывать mysql_options(), опуская вызовы для тех параметров, для которых значение параметра является NULL. Кроме того, mysql_options() предлагает параметры защищённого соединения, недоступные с помощью mysql_ssl_set(), такие как MYSQL_OPT_SSL_MODE для указания состояния безопасности соединения и MYSQL_OPT_TLS_VERSION для указания протоколов, разрешённых клиентом для защищённых соединений.
Аргументы:
mysql: Обработчик соединения, возвращённый изmysql_init().key: Имя файла приватного ключа клиента.cert: Имя файла сертификата открытого ключа клиента.ca: Имя файла сертификата УЦ (Certificate Authority).capath: Имя каталога, содержащего файлы сертификатов УЦ SSL.cipher: Список допустимых шифров для SSL-шифрования.
Значения возврата
Эта функция возвращает false, если операция выполнена успешно, в противном случае возвращает true. Если настройка SSL неверна, последующий вызов mysql_real_connect() возвращает ошибку при попытке подключения.
© 2025 Oracle
Licensed under the GPLv2 License.