本节介绍的函数是在 NDB 8.3 中添加的,用于支持节点之间通信的传输层安全性。本节还包含有关其中一些函数使用的两个数据结构的信息。
有关 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的指针