【问题标题】:libldap openldap setting option fails for simple SSL connection简单 SSL 连接的 libldap openldap 设置选项失败
【发布时间】:2014-10-05 13:12:10
【问题描述】:

我在 Linux 上使用 openLdap (libldap) 来构建一个简单的 SSL 连接客户端。

我收到以下错误:

ldap_set_option(pLdap, LDAP_OPT_X_TLS_REQUIRE_CERT, LDAP_OPT_X_TLS_NEVER) 

返回 -1。有没有其他人看到过这个问题?

我正在用

初始化 ldap
ldap_initialize (&pLdap,"ldaps://localhost:10636");

请不要将我重定向到 MSDN 站点以使用 wldap32.lib

ldap_set_option(pLdapConnection, LDAP_OPT_SERVER_CERTIFICATE, &VerifyCert);

和一个回调函数。这有效,但仅适用于 Windows。

此外,我无法更改服务器配置。

【问题讨论】:

  • 2 皮特什。似乎 set opt 现在成功了。但最后一个问题是 ldap_bind_s() 返回 -1。
  • 我认为没有足够的代码或错误信息来提供帮助。 ldap_set_option 上有一个手册页。 ldap_error 上还有一个手册页。
  • ldap_bind_s返回-1表示服务器没有响应(请使用ldap_err2string判断错误码的含义)

标签: c linux ssl openldap


【解决方案1】:

在封闭值中传递参数,而不是作为值本身。

int invalue = LDAP_OPT_X_TLS_NEVER;
err = ldap_set_option(0, LDAP_OPT_X_TLS_REQUIRE_CERT, &invalue);

请注意,我们可以将0 用于 ldap 句柄,因为此选项适用于所有连接。

【讨论】:

    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 2018-06-22
    • 2012-03-26
    • 2015-06-02
    • 2019-04-02
    • 2016-08-03
    • 2013-10-14
    • 1970-01-01
    相关资源
    最近更新 更多