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
中提供字串長度(如果非 NULL)。否則,它會傳回 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 連線超過一次。