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 会话。