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
来说,除了 0 之外的任何值都会导致错误。OpenSSL 版本 1.0.2 强制执行此限制。
避免多次重用 SSL 会话。