5.4.37 mysql_get_ssl_session_data()
void *
mysql_get_ssl_session_data(MYSQL *,
unsigned int n_ticket,
unsigned int *out_len)
Описание
mysql_get_ssl_session_data() позволяет повторно использовать сессию SSL, извлекая билет из установленной сессии и представляя этот билет при подключении, при условии, что сервер всё ещё имеет сессию в кэше во время выполнения. Эта функция возвращает строку данных сессии и предоставляет длину строки в out_len (если она не NULL). В противном случае, она возвращает nullptr, чтобы указать, что ожидаемые данные сессии недоступны или соединение не в нужном состоянии. Чтобы предотвратить утечки, необходимо освободить дескриптор данных сессии, вызвав mysql_free_ssl_session_data(), когда ваше приложение закончит работу с указателем.
Формат данных — PEM-сериализация сессии. Сессия может быть повторно использована только в том случае, если она была извлечена из предыдущей сессии с тем же сервером mysqld на том же порту. Кроме того, версия SSL новой сессии должна совпадать с версией SSL исходной сессии.
n_ticket указывает, какой билет или билеты возвратить. Для TLS 1.3 сервер по умолчанию генерирует два билета сессии для новых сессий и один — при повторном использовании сессии. Для TLS 1.2 сервер по умолчанию генерирует один билет сессии. Это следует учитывать при определении размера кэша SSL-сессий на сервере.
В настоящее время возвращается только последняя переданная сессия. В частности, любое значение, отличное от 0 для n_ticket, приводит к ошибке. Версия OpenSSL 1.0.2 накладывает это ограничение.
Избегайте повторного использования SSL-сессий более одного раза.
Значения возврата
Нет.
Ошибки
Нет.
© 2025 Oracle
Licensed under the GPLv2 License.