文件首頁
MySQL 9.0 C API 開發人員指南
下載本手冊
PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb


MySQL 9.0 C API 開發人員指南  /  ...  /  mysql_get_ssl_session_data()

5.4.37 mysql_get_ssl_session_data()

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 連線超過一次。

傳回值

無。

錯誤

無。