2012-05-22 46 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