ldap_sslinit 函数使用 LDAP 服务器初始化安全套接字层 (SSL) 会话。
语法
WINLDAPAPI LDAP *LDAPAPI ldap_sslinitA(
[in] PSTR HostName,
[in] ULONG PortNumber,
[in] int secure
);
参数
[in] HostName
指向以 null 结尾的字符串的指针,该字符串包含以空格分隔的主机名列表或虚线字符串,表示运行要连接的 LDAP 服务器的主机的 IP 地址。 列表中的每个主机名可以包含一个可选的端口号,该端口号与主机本身分隔,冒号 (:) 字符。
[in] PortNumber
包含要连接到的 TCP 端口号。 设置为 LDAP_SSL_PORT 以获取默认端口 636。 如果主机名包含端口号,则忽略此参数。
[in] secure
如果不是零,则函数使用 SSL 加密。 如果值为 0,则函数将建立纯 TCP 连接,并使用明文 (无加密) 。
返回值
如果函数成功,它将以指向 LDAP 结构的指针的形式返回会话句柄。 当不再需要会话句柄时,必须通过调用 ldap_unbind 来释放会话句柄。
如果函数失败,则返回值为 NULL。 使用 LdapGetLastError 检索错误代码。
注解
调用 ldap_sslinit 以创建与安全 LDAP 服务器的连接块。 HostName 参数可以为 NULL,在这种情况下,运行时会尝试查找“默认”LDAP 服务器。 将按列出的顺序尝试主机,并停止与成功建立连接的第一个主机。
如果 HostName 设置为 NULL 或域名,则应用自动重新连接。 如果连接的 DC 在连接的生存期内由于某种原因停止运行,LDAP 将自动重新连接到指定域中的另一个 DC。 可以使用默认启用 的“LDAP_OPT_AUTO_RECONNECT 会话”选项关闭或打开此行为。
如果将全局编录端口号作为参数之一传递给 ldap_sslinit ,则为该端口号传递的 HostName 必须是对 DsGetDcName 的基础调用的林的名称,才能在企业中正确查找 GC。
函数分配一个 LDAP 结构来维护会话的状态信息,并返回此结构的句柄。 在会话过程中,将此句柄传递给后续 LDAP 函数调用。
多线程处理:对 ldap_sslinit的 调用是线程安全的。
Microsoft 通过其 SSPI 功能实现 SSL 等安全功能。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | winldap.h |
Library | Wldap32.lib |
DLL | Wldap32.dll |