PDF (美式信紙) - 1.4Mb
PDF (A4) - 1.4Mb
自 MySQL 8.0.29 起,伺服器預設支援 SSL 連線階段重用,但僅限於使用者啟用此功能後的可設定逾時期間內。所有 MySQL 客戶端應用程式都支援連線階段重用。有關伺服器端和客戶端操作的說明,請參閱重用 SSL 連線階段。
本節說明 C 應用程式如何使用 C API 功能來啟用加密連線的連線階段重用。
SSL 連線階段重用運作方式如下
在進行中的作用中 SSL 連線中,您的應用程式可以呼叫
mysql_get_ssl_session_data()
來請求目前的 SSL 連線階段資料。此呼叫會傳回記憶體中物件的指標,目前該物件是連線階段的 PEM 序列化 ASCII 字串。然後,您的應用程式會將指標傳遞給
mysql_options()
,並使用MYSQL_OPT_SSL_SESSION_DATA
選項,以便在正在建立的新連線中使用(在連線前階段)。在執行階段,應用程式會像平常一樣連線。此時,先前的連線階段有可能被重用。您的應用程式可以透過呼叫
mysql_get_ssl_session_reused()
來判斷新連線是否正在重用連線階段。如果存在連線階段並且已重用,則此呼叫會傳回TRUE
。在您的應用程式不再需要指標後,務必呼叫
mysql_free_ssl_session_data()
將其釋放。
MySQL 使用隨機的 TLS 內容相關內容 ID,這也適用於連線階段重用。使用 TLS 1.3 時,當發生先前描述的呼叫順序時,OpenSSL 會使用預先共用的金鑰進行連線階段重用。相反地,使用 TLS 1.2 時,OpenSSL 會使用連線階段票證。