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

标签 c++ c windows ldap openldap

我正在编写一个示例客户端(用 C/C++ 编码)以通过 LDAP 对用户进行身份验证。客户端是为 Windows 和 Linux 开发的。

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

最佳答案

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

关于c++ - 如何在 Windows 上禁用 LDAP 身份验证的证书验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943647/

相关文章:

c++ - 使用 CUDA 计算积分图像比 CPU 代码慢

c - 不知道为什么我在这里遇到段错误

c - C 中的函数指针和内存管理

python - 有没有等同于 Memcpy 的 Python

windows - Visual Studio 100% 磁盘使用率

python - Windows 阻止对 HKLM 进行注册查询;改为返回 HKCU

c++ - 在 C++ 中将 64 位值左移 64 位给出奇怪的结果

c++ - 访问指针数组中的子类方法

c++ - 在 ACE 中优雅地终止线程

python - 属性错误 : 'str' object has no attribute 'regex' django 1. 9