我試圖使用.NET System.DirectoryServices.Protocols
命名空間APIC#連接到Active Directory通過SSL給LDAP服務器不可用
這裏通過SSL連接到Active Directory的是,我已經連接到活動目錄
編寫的代碼段LdapConnection ldapConnection = new LdapConnection(new LdapDirectoryIdentifier("<ipaddress>:<port>"));
ldapConnection.AuthType = AuthType.Basic;
LdapSessionOptions options = ldapConnection.SessionOptions;
options.SecureSocketLayer = true;
options.ProtocolVersion = 3;
X509Certificate cert = new X509Certificate();
cert.Import(@"E:\client.crt");
ldapConnection.ClientCertificates.Add(cert);
ldapConnection.Credential = new NetworkCredential("administrator", "xxxxxxxxxx");
ldapConnection.Bind();
Console.WriteLine("successfully connected");
當我試圖執行此代碼段時,我總是得到LDAP服務器不可用的錯誤。我寫了一個相同的JAVA,它可以連接到服務器,所以我認爲證書或活動目錄連接沒有問題。我還能夠連接到Active Directory不使用SSL,使用相同的IP地址和端口389
感謝
嘗試提供連接標識符的協議前綴:「ldaps://192.168.0.101:636」。這應該強制SSL連接。如果這樣做沒有幫助,我認爲證書存在某種問題,因爲這是在「無法聯繫ldap服務器」或通過SSL獲取類似信息時最常見的問題。 –