如何在Windows上禁用LDAP身份验证的证书验证?

时间:2013-06-05 15:17:08

标签: c++ c windows ldap openldap

我正在编写一个示例客户端(用C / C ++编写),用于通过LDAP验证用户。该客户端是为Windows和Linux开发的。

对于Linux,我使用的是使用--with-tls(OpenSSL)编译的OpenLDAP库。为了通过加密通道验证用户,我正在跳过服务器 - 客户端证书验证。为此,我将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的客户端证书验证?

1 个答案:

答案 0 :(得分:1)

Session Options,特别是LDAP_OPT_SERVER_CERTIFICATE。它允许您指定回调函数以验证服务器证书。