ldap_sslinit 函数 (winldap.h)

ldap_sslinit 函数使用 LDAP 服务器初始化安全套接字层 (SSL) 会话。

语法

WINLDAPAPI LDAP *LDAPAPI ldap_sslinit(
  [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

请参阅

函数

初始化会话

LDAP

LdapGetLastError

分布式应用程序的 SSPI 选项

ldap_unbind