I need to connect to an external LDAP server that is accessible to me but only over LDAPS.
The information I have available is username, server, password. I need to query and retrieve a list of all users. The format I have the details in are
- Username: domain\username
- Password: {password}
- Domain: remote.{domain}.net.au
The following code I wrote will authenticate my user account successfully, but I now need to enumerate all users which is where I'm having issues. Ideally this would be ALL users in the directory, not from within a specific OU. Again, I don't have the fully qualified paths to any OUs for this server. The server has a self signed certificate which is why in my example I am specifically telling it to accept the certificate.
int port = secured ? 636 : 389;
LdapConnection connection = new LdapConnection(new LdapDirectoryIdentifier(ldapServer, port, false, false));
if (secured)
{
connection.SessionOptions.ProtocolVersion = 3;
connection.SessionOptions.SecureSocketLayer = true;
}
connection.Credential = new NetworkCredential(username, password);
connection.AuthType = AuthType.Basic;
connection.SessionOptions.VerifyServerCertificate += (conn, cert) => { return true; };
connection.Bind();
return connection;