我首先配置企业 CA,然后使用此页面上的指南完成此操作
http://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx#Reasons
按以下顺序
-
发布支持服务器身份验证的证书
在这一步的第 5 点是
“5. 在复制模板对话框中,保留默认选中的 Windows Server 2003 Enterprise 选中状态,然后单击确定。”
仔细选择您的相关操作系统,教程说保持默认,但我使用的是 Windows Server 2012 r2,所以我选择了我正在使用的那个。选择您的相关操作系统。
导出 LDAPS 证书并导入以用于 AD DS
- 验证 LDAPS 连接
为什么需要通过 SSL 进行 ADLDS 连接?
因为我希望用户更改他/她的 ADLDS 密码,所以使用 PrincipalContext 的非 SSL 连接不允许我这样做。所以现在我正在使用下面的代码,它就像一个魅力。
PrincipalContext pc = new PrincipalContext(
ContextType.ApplicationDirectory,
"YourServerUrl:YourSSLPort",
"CN=YourPartitionName,DC=partition,DC=com",
ContextOptions.SimpleBind | ContextOptions.SecureSocketLayer,
"FullDistinguisedNameOfUser",
"PasswordOfUser");
bool IsUserValidated = pc.ValidateCredentials(
"FullDistinguisedNameOfUser",
"PasswordOfUser",
ContextOptions.SimpleBind | ContextOptions.SecureSocketLayer);
if (IsUserValidated)
{
UserPrincipal up = UserPrincipal.FindByIdentity(
"FullDistinguisedNameOfUser",
"PasswordOfUser");
up.ChangePassword("UserOldPassword", "UserNewPassword");
}