【发布时间】:2012-10-01 09:44:13
【问题描述】:
我有一个客户需要验证用户是否使用 LDAP 对照他的活动目录登录到我的 Web 应用程序。在尝试使用 DirectoryEntry 和 DirectorySearcher .NET 类进行连接时,我可以连接到他的 AD 服务器,但不能访问它。
客户的 AD 服务器有一个 SSL 证书,他给了我一个公钥文件,但我不知道如何在我的 C# 代码中使用这个公钥文件。
当我通过代码发出连接命令时,我通过 Wireshark 看到我的应用程序正在发送连接请求。然后我看到服务器以“Server Hello,Certificate,Certificate Request,Server Hello Done”响应。然后我的应用程序在那之后就再也没有响应了。
在使用由其他人编写但我没有代码的另一个应用程序时,我看到来自服务器的相同请求,然后看到应用程序响应“证书,客户端密钥交换”,然后应用程序连接并运行。
话虽如此,我的问题是,如何让我的 C# 应用程序加载并发送我从客户端获得的密钥文件?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
感谢约翰纠正了这个问题。下次我就知道了。
-
Amitd,我尝试了建议文章中的方法,但当服务器请求我的证书时,我仍然被阻止。我收到了一个 .KEY 文件,其中包含有人告诉我的公钥。该文件以 BEGIN RSA PRIVATE KEY 开头,并以 END RSA PRIVATE KEY 标签结束,但我不能用它做任何事情。我尝试导入它,但 Windows 7 无法识别该文件。
-
不知道为什么我的问题被认为是题外话。我认为众所周知的枪被跳过了。无论如何,我希望我能将 Amitd 的回答归功于他的回答,因为它是正确的。但是,我必须添加一行以使我的代码能够通过 SSL 证书与服务器通信。我会发布完整的答案,但主题已关闭。
标签: c# active-directory ldap