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: Имя пути файла сертификата центра сертификации (CA). Если этот параметр используется, он должен указывать тот же сертификат, что и сервер.capath: Имя пути к каталогу, содержащему файлы сертификатов CA SSL, которым доверяют.cipher: Список разрешенных шифров для шифрования SSL.
Значения возврата
Эта функция возвращает 0, если операция выполнена успешно, иначе возвращает false. Если настройка SSL некорректна, последующий вызов mysql_real_connect() возвращает ошибку при попытке подключения.
© 2025 Oracle
Licensed under the GPLv2 License.