2012-05-22 43 views
3

我想通過.NET 4 Web服務中的安全SSL連接連接到Active Directory輕型目錄服務2008 R2的實例,並且我得到「服務器是不可操作「。錯誤。如何通過SSL連接到AD LDS?處理「服務器不可操作」錯誤

  • 我正在使用使用ADSI編輯器創建並置於管理員角色中的用戶。
  • 我能夠通過ADSI編輯器與此用戶使用SSL和簡單綁定進行登錄/連接,並且我可以使用相同的用戶憑據連接到Web服務,但使用非SSL端口。
  • 我正在使用專有名稱和
  • 用戶絕對不是無效的。

下面是我用綁定代碼:

DirectoryEntry entry = new DirectoryEntry("LDAP://2.2.2.2:636/DC=nfa,DC=local"); 
      entry.Username = "CN=ldapadmin,DC=nfa,DC=local";  
      entry.Password = "[email protected]"; 
      entry.AuthenticationType = AuthenticationTypes.SecureSocketsLayer; 

我已經嘗試過類似這樣的還有:

DirectoryEntry entry2 = new DirectoryEntry("LDAP://2.2.2.2:636/DC=nfa,DC=local", "CN=ldapadmin,DC=nfa,DC=local", "[email protected]", AuthenticationTypes.SecureSocketsLayer); 
+0

我已經嘗試過類似這樣的還有:的DirectoryEntry ENTRY2 =新的DirectoryEntry(「LDAP://2.2.2.2:636/DC = NFA,DC =本地「,」CN = ldapadmin,DC = nfa,DC = local「,」P @ ssw0rd「,AuthenticationTypes.SecureSocketsLayer); – user835440

+0

是否有需要打開的端口? – KennyZ

+0

我相信端口是開放的,因爲我可以通過端口636通過adsi編輯器登錄。因此有點沮喪。 – user835440

回答

2

服務器需要安裝meets the documented requirements SSL證書。測試與LDP的連接。您將需要使用機器的完全限定域名進行連接。用FQDN替換上面的IP地址,你應該全部設置好。

+0

您拯救了我的生命和我的大腦完整性! :d – Blasco73

0

由於@ColinBowern提到您需要提供完全合格的域名(FQDN)而不是IP,因爲證書已頒發給FQDN。

首先,驗證與AD LDS遠程機器上註冊的證書是否正確安裝:

  1. 運行certmgr
  2. 驗證在Trusted Root Certification Authority\Certificates商店中是否存在頒發證書的證書頒發機構(CA)。
  3. 使用正確的FQDN(遠程計算機的域名)驗證存儲在Personal\Certificates存儲中的證書,該證書由上述CA頒發,類型爲「服務器驗證」。

其次,由於DNS註冊錯誤,FQDN 可能不會正確解析到遠程計算機。驗證本地計算機的hosts文件(位於C:\Windows\System32\drivers\etc)將正確的IP映射到FQDN(如證書名稱中所示)。如果條目不存在,它需要添加,

192.168.1.34 domain.name # <-- FQDN as shown in the certificate