2011-09-16 142 views
1

我正在使用以下代碼使用SSL連接到LDAP服務器。以下代碼將只在我關閉SSL標誌時才起作用。任何人都可以告訴我我在這裏缺少什麼來進行SSL連接。我需要提供任何NetworkCredentials通過SSL連接時LDAP連接失敗

每次的findAll把它叫做是說,

的服務器不可操作

ldapUrl="LDAP://x500.bund.de:389/l=Neutral,ou=BMI,o=Bund,c=DE"; 

DirectoryEntry dEntry =null; 

// for anonymous login. x500.bund.de supports this. 
dEntry = new DirectoryEntry(ldapUrl, null, null, 
      AuthenticationTypes.SecureSocketsLayer | AuthenticationTypes.Secure); 

DirectorySearcher search = new DirectorySearcher(dEntry); 

search.Filter = "((objectClass=*))";  
search.Filter = searchQuery; 
SearchResultCollection scl = search.FindAll(); 
+0

[C#:How to connect to Active Directory with SSL enabled?](http://stackoverflow.com/questions/1228998/c-how-to-connect-to-active-directory-with-ssl - 啓用) –

+0

看到其他SO問題 - 我相信你需要使用端口636(而不是389)SSL連接... –

回答

3

389是LDAP明文端口。除非您使用STARTTLS指令並且服務器配置爲支持它,否則不能使用SSL。按照marc_s的建議嘗試636。