Ssl 如果必须使用Active Directory进行身份验证,是否应将LDAPS证书导入每个客户端计算机?
我不熟悉LDAP、SSL和AD。我试图了解如何使用它,但即使在谷歌上搜索了很多次,也找不到一些问题的答案 安装AD证书颁发机构后,它将生成一个必须导入AD域控制器的证书。这是正确的吗? 此导入是一次性设置吗 如果客户端计算机上有一个软件想要向AD进行身份验证,那么证书也应该导入到客户端计算机上吗Ssl 如果必须使用Active Directory进行身份验证,是否应将LDAPS证书导入每个客户端计算机?,ssl,active-directory,ldap,ssl-certificate,communication,Ssl,Active Directory,Ldap,Ssl Certificate,Communication,我不熟悉LDAP、SSL和AD。我试图了解如何使用它,但即使在谷歌上搜索了很多次,也找不到一些问题的答案 安装AD证书颁发机构后,它将生成一个必须导入AD域控制器的证书。这是正确的吗? 此导入是一次性设置吗 如果客户端计算机上有一个软件想要向AD进行身份验证,那么证书也应该导入到客户端计算机上吗 仅仅在客户端计算机上的软件中将协议设置为“SSL”是没有帮助的。是否应将证书导入必须与AD对话的每个客户端计算机中的证书存储?不应在客户端计算机上导入证书。如果您使用的是自签名证书或来自内部CA的证书,
仅仅在客户端计算机上的软件中将协议设置为“SSL”是没有帮助的。是否应将证书导入必须与AD对话的每个客户端计算机中的证书存储?不应在客户端计算机上导入证书。如果您使用的是自签名证书或来自内部CA的证书,则需要确保证书的颁发链在客户端计算机上最终受信任 您还需要确保DC正在收听636/3269
您可以使用RSAT工具中包含的
ldp
实用程序从客户端对此进行测试。否,不应将其导入每台计算机,但是,应在使用LDAP的每台计算机上的受信任根证书颁发机构中安装创作机构(CA)。您的AD证书应该安装在服务端下。下面是一个脚本,可以将您的证书安装到正确的位置。安装完成后,我建议使用LDP.exe实用程序进行验证。此脚本将使用PFX证书文件。脚本会将其复制到根目录上的本地C驱动器,然后在完成后将其删除。您需要更新以下内容:
路径可以是UNC或local
$cert_name=“FullNameOfCertPfx.pfx”
$cert\u path=“路径名此处\$cert\u名称”
$pwd=“在此处输入您的PFX密码”
$dcs = Get-ADDomainController -Filter * | sort name
for($i =0; $i -lt $dcs.Count; $i++)
{
$cert_name = "**FullNameOfCertPfx.pfx**"
$cert_path = "**PathNameHere**\$cert_name"
$cert_dst = "\\" + $dcs[$i].name + "\c$\"
#This will copy it to the DC
Copy-Item -Path $cert_path -Destination $cert_dst -Force -Confirm: $false -Verbose
Write-Verbose $dcs[$i].name -Verbose
Invoke-Command -ComputerName $dcs[$i].name -ScriptBlock {
$pwd = "Put your PFX Password here"
$cert_pwd = ConvertTo-SecureString -String $pwd -AsPlainText -Force
$cert = Import-PfxCertificate -Password $cert_pwd -FilePath "C:\star_corp-nutanix-with-key.pfx" cert:\localMachine\my -Verbose
$reg_path = "HKLM:\SOFTWARE\Microsoft\SystemCertificates\MY\Certificates\$($cert.Thumbprint)"
$reg_dst = "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates\MY\Certificates\"
if(!(Test-Path $reg_dst))
{
if(!(Test-Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS"))
{
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\" -Name "NTDS" -Verbose
}
if(!(Test-Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates"))
{
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS" -Name "SystemCertificates" -Verbose
}
if(!(Test-Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates\My"))
{
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates" -Name "My" -Verbose
}
if(!(Test-Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates\My\Certificates"))
{
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Cryptography\Services\NTDS\SystemCertificates\My" -Name "Certificates" -Verbose
}
}
else{Write-Verbose "Path is there" -Verbose}
Move-Item $reg_path $reg_dst -Verbose
Remove-Item -Path "c:\$cert_name" -Verbose
}
}