使用DirectoryEntry
通过端口636连接到DMZ中的指定Active Directory服务器(即不在域中),然后使用DirectorySearcher
提取属性。
字符串
string serverPath = "LDAP://some.domain.com:636/OU=XXXX,DC=xxxx,DC=xxxxxxxxx";
var searchRoot = new DirectoryEntry(
serverPath,
User,
Pass,
AuthenticationTypes.Secure);
第一个查询非常慢,大约22-25秒。有人向我解释说,这可能是因为IIS 7.5可能会针对CRL在AD服务器上查找证书,但没有得到响应。然后,后续查询接受该答案,直到该过程超时,以便下一个查询将再次花费22-25秒。
我在代码示例中描述的连接类型是否实际上是拉取证书,还是流量只是通过端口以加密状态发送,而服务器之间没有相对于证书的握手?
我是否必须拥有证书才能使用此功能?我应该说我使用的是这种模式:http://forums.asp.net/p/907421/1007517.aspx。
答案 0 :(得分:0)
此处不涉及SSL。
serverPath
看起来像什么?你可能正在尝试某些东西 - 也许是DNS。我从网络跟踪开始。
答案 1 :(得分:0)
使用端口636时,使用LDAP over SSL,
http://en.wikipedia.org/wiki/Ldap
如果您使用Microsoft网络监视器或Wireshark来捕获数据包,您可能会获得有关数据包级别的更多见解。
在这种情况下,CRL是必需的,因为它默认启用。但是你可以在机器或应用程序级别关闭它,
http://www.page-house.com/blog/2009/04/how-to-disable-crl-checking.html