PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
void *
mysql_get_ssl_session_data(MYSQL *,
unsigned int n_ticket,
unsigned int *out_len)
mysql_get_ssl_session_data()
允许通过从已建立的会话中提取票证并在连接时提交该票证来重用 SSL 会话,前提是服务器在其运行时缓存中仍保留该会话。此函数返回一个会话数据字符串,并在 out_len
(如果非空)中提供字符串的长度。否则,它将返回 nullptr
以指示预期会话数据不可用或连接不在正确状态。为了防止泄漏,当您的应用程序完成对指针的使用后,必须通过调用 mysql_free_ssl_session_data()
来释放会话数据句柄。
数据的格式是会话的 PEM 序列化。只有在从先前会话提取的会话(到同一 mysqld 服务器上的同一端口)时,才能重用会话。此外,新会话的 SSL 版本必须与原始会话的 SSL 版本匹配。
n_ticket
指定要返回的票证或票证。对于 TLS 1.3,服务器默认情况下会为新会话生成两个会话票证,并在重用会话时生成一个票证。对于 TLS 1.2,服务器默认情况下会生成一个会话票证。在决定服务器上 SSL 会话缓存的大小方面,这一点应该予以考虑。
注意
目前,只返回最后一个传输的会话。具体而言,n_ticket
以外的任何值都会导致错误。OpenSSL 版本 1.0.2 施加了此限制。
避免将 SSL 会话重用超过一次。