PDF (美式信紙) - 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 連線。