我正在编写一个示例客户端(用 C/C++ 编码),用于通过 LDAP 对用户进行身份验证。该客户端是为 Windows 和 Linux 开发的。
对于 Linux,我使用的是使用(OpenSSL)编译的OpenLDAP库。--with-tls
为了通过加密通道对用户进行身份验证,我将跳过服务器-客户端证书验证。为此,我将 ldap 选项设置为:
option = LDAP_OPT_X_TLS_NEVER;
returnCode = ldap_set_option(vLdapConnection, LDAP_OPT_X_TLS_REQUIRE_CERT, &option);
if(returnCode != LDAP_OPT_SUCCESS){
return FALSE;
}
这将跳过认证验证,并始终允许客户端进行身份验证。
但是,在 Windows 上,我将 wldap.dll 用于应用程序。我无法弄清楚如何通过加密连接禁用 LDAP 的服务器客户端证书验证。
当我跑过:
returnCode = ldap_set_option(vLdapConnection, LDAP_OPT_SSL, LDAP_OPT_ON);
returnCode 始终设置为LDAP_SERVER_DOWN = 0x51
如何在 Windows 上使用 Wldap32.dll 禁用 LDAP 的客户端证书验证?