通过 ssl 连接以打开 LDAP

may*_*rki 4 c# openldap

我正在开发一个用于重置 LDAP 用户密码的网站。我无法通过 ssl 与服务器建立连接。我尝试了各种代码和身份验证类型。

这是服务器上用于与托管网站的 LDAP 连接的内容。我还使用两个 ssl 端口对其进行了测试。636 和 3269。

0 = ldap_set_option(ld, LDAP_OPT_ENCRYPT, 1)
res = ldap_bind_s(ld, NULL, &NtAuthIdentity?, NEGOTIATE (1158)); v.3

{NtAuthIdentity?: User='_ldapuser'; Pwd='unavailable';; domain = 'SJTPNOC.DOMAIN'}
Run Code Online (Sandbox Code Playgroud)

我在网站中使用以下代码

LdapConnection connection = new LdapConnection(new LdapDirectoryIdentifier("SJTP.DOMAIN",636));

connection.SessionOptions.ProtocolVersion = 3;

connection.AuthType = AuthType.Basic;

connection.Credential = new NetworkCredential("CN=user,CN=Users,DC=SJTPNOC,DC=DOMAIN", "password","CN=Users,DC=SJTPNOC,DC=DOMAIN");

connection.SessionOptions.SecureSocketLayer=true;

connection.Bind();
Run Code Online (Sandbox Code Playgroud)

出现异常“LDAP 服务器不可用”。我尝试使用 389 端口且没有 ssl 的代码,它工作正常。

请让我知道出了什么问题。

jbl*_*jbl 5

如果您只想加密而不需要 ldap 服务器的强身份验证,也许您应该添加:

connection.SessionOptions.VerifyServerCertificate =
                new VerifyServerCertificateCallback((con, cer) => true);
Run Code Online (Sandbox Code Playgroud)