本节介绍的函数是在 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
的指针