本節描述的函數是在 NDB 8.3 中新增的,用於支援節點間通訊的傳輸層安全性 (Transport Layer Security)。本節也包含有關某些函數使用的兩個資料結構的資訊。
有關 NDB 叢集中 TLS 支援的更多資訊,請參閱 NDB 叢集的 TLS 連結加密。
- 描述
釋放憑證描述的鏈結列表。
- 簽章
void ndb_mgm_cert_table_free ( struct ndb_mgm_cert_table **list )
- 參數
- list
ndb_mgm_cert_table
憑證描述的鏈結列表
- 回傳值
無
- 描述
-
連線到管理伺服器。此函數包裝對
ndb_mgm_connect()
的呼叫,後面接著對ndb_mgm_start_tls()
的呼叫。使用者必須先呼叫ndb_mgm_set_ssl_ctx()
,才能叫用此函數。與
ndb_mgm_connect()
的情況不同,ndb_mgm_connect_tls()
無法在已連線的處理常式上呼叫;此類嘗試會因錯誤 NDB_MGM_ALREADY_CONNECTED 而失敗。 - 簽章
int ndb_mgm_connect_tls ( NdbMgmHandle handle, int no_retries, int retry_delay_in_seconds, int verbose, int tls_req_level )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。- no_retries
進行連線嘗試的次數 (
0
表示連線一次)。- retry_delay_in_seconds
每次重試連線前等待的時間長度。
- verbose
印出有關連線重試的報告。
- tls_req_level
-
此參數可以採用以下兩個值之一
CLIENT_TLS_RELAXED
:TLS 驗證失敗仍會導致錯誤,但憑證遺失或伺服器拒絕會導致成功進行明文連線。CLIENT_TLS_STRICT
:任何建立 TLS 的失敗都會被視為錯誤,且連線會關閉。
- 回傳值
無
- 描述
取得伺服器 TLS 統計資料
- 簽章
int ndb_mgm_get_tls_stats ( NdbMgmHandle handle, struct ndb_mgm_tls_stats *result )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。- result
指向儲存結果資料的
ndb_mgm_tls_stats
結構的指標
- 回傳值
成功時為
0
,錯誤時為-1
。
- 描述
檢查已連線的處理常式是否正在使用 TLS。
- 簽章
int ndb_mgm_has_tls ( NdbMgmHandle handle )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。
- 回傳值
如果處理常式正在使用 TLS,則為
1
;如果不是,則為0
。
- 描述
查詢已連線的 MGM 用戶端的 TLS 憑證
- 簽章
int ndb_mgm_list_certs ( NdbMgmHandle handle, struct ndb_mgm_cert_table **list )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。- list
指向
ndb_mgm_cert_table
結構指標的位址。
- 回傳值
-
以下值之一
> 0
:連結描述的總數。0
:成功,但沒有要報告的 TLS 連線。-1
:錯誤。
- 描述
為處理常式設定 SSL 環境結構 (CTX)。
- 簽章
int ndb_mgm_set_ssl_ctx ( NdbMgmHandle handle, struct ssl_ctx_st *ctx )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。- ctx
用於 TLS 和 HTTPS 連線的
SSL_ctx
- 回傳值
成功時為
0
,如果已設定 CTX 則為-1
- 描述
透過將開啟的未加密連線升級為安全連線來啟動 TLS。
- 簽章
int ndb_mgm_start_tls ( NdbMgmHandle handle )
- 參數
- handle
管理伺服器處理常式 (
NdbMgmHandle
)。
- 回傳值
成功時為
0
- 描述
ndb_mgm_cert_table
是一個描述 TLS 用戶端會話的連結結構。- 定義
struct ndb_mgm_cert_table { Uint64 session_id; char *peer_address; char *cert_serial; char *cert_name; char *cert_expires; struct ndb_mgm_cert_table *next; }
- 成員
- session_id
TLS 會話 ID
- peer_address
建立連線的主機
- cert_serial
憑證序號
- cert_name
憑證名稱
- cert_expires
憑證到期日
- next
指向列表中下一個
ndb_mgm_cert_table
的指標