系统要求:
DNS配置:
# 以管理员身份运行PowerShell
# 先安装AD CS角色
Install-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
# 或者一次性安装所有AD CS组件
Install-WindowsFeature AD-Certificate -IncludeAllSubFeature -IncludeManagementTools
# 配置企业根CA(推荐用于域环境)
Install-AdcsCertificationAuthority `
-CACommonName "Contoso-Root-CA" `
-CAType EnterpriseRootCA `
-CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
-KeyLength 2048 `
-HashAlgorithmName SHA256 `
-ValidityPeriod Years `
-ValidityPeriodUnits 10 `
-Force
# 如果要安装独立CA(非域环境)
Install-AdcsCertificationAuthority `
-CACommonName "Standalone-Root-CA" `
-CAType StandaloneRootCA `
-Force
在服务器管理器中,点击右上角的警告标志
选择"配置目标服务器上的Active Directory证书服务"
指定凭据(域管理员)
选择要配置的角色服务:
设置类型:
CA类型:
私钥配置:
CA名称:
Contoso-Root-CA证书数据库位置:
C:\Windows\System32\CertLog# 查看现有模板
Get-CATemplate | Format-List Name, DisplayName
# 复制现有模板创建新模板(通过GUI更简单)
通过GUI创建模板:
运行certsrv.msc 打开证书颁发机构控制台
右键"证书模板" → "管理"
右键现有模板 → "复制模板"
配置:mmc
文件 → 添加/删除管理单元
添加"证书" → 选择"用户账户"
右键"个人" → 所有任务 → 申请新证书
选择证书模板
完成申请
方法B:使用certreq命令
# 创建.inf请求文件
$infContent = @"
[NewRequest]
Subject = "CN=webserver.contoso.com, OU=IT, O=Contoso, L=City, S=State, C=US"
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
Exportable = True
[RequestAttributes]
CertificateTemplate = WebServer
"@
$infContent | Out-File "C:\certrequest.inf"
# 生成请求
certreq -new "C:\certrequest.inf" "C:\certrequest.req"
# 提交请求(自动批准需要配置)
certreq -submit -config "CA-Server\Contoso-Root-CA" "C:\certrequest.req" "C:\certificate.cer"
# 安装证书
certreq -accept "C:\certificate.cer"
方法C:通过Web注册(如果安装了Web服务)
访问 https://<CA-Server>/certsrv
使用域账户登录
申请证书 → 选择模板
下载并安装证书
# 查看CA信息
Get-CACrlDistributionPoint
Get-CAAuthorityInformationAccess
# 颁发和吊销证书
Get-CACertificate -RequestID 1 # 查看证书
Revoke-Certificate -RequestID 1 -Reason "KeyCompromise" # 吊销证书
# 发布CRL
certutil -crl
# 备份CA
Backup-CARoleService -Path "D:\CA-Backup" -Password (ConvertTo-SecureString -String "Password123!" -AsPlainText -Force)
# 恢复CA
Restore-CARoleService -Path "D:\CA-Backup" -Password (ConvertTo-SecureString -String "Password123!" -AsPlainText -Force)
安全配置:
# 禁用弱加密算法
certutil -setreg ca\csp\CNGHashAlgorithm SHA256
# 重启AD CS服务
Restart-Service certsvc
高可用性:
监控和维护:
证书模板管理:
# 检查CA服务状态
Get-Service certsvc
# 查看CA事件日志
Get-WinEvent -LogName "Application" | Where-Object {$_.ProviderName -eq "Microsoft-Windows-CertificationAuthority"} | Select-Object -First 10
# 验证CA配置
certutil -ping
certutil -viewstore "CA"
# 完整的自动化安装脚本示例
$CACommonName = "Contoso-Root-CA"
$CAHostname = $env:COMPUTERNAME
# 安装角色
Install-WindowsFeature ADCS-Cert-Authority, ADCS-Web-Enrollment -IncludeManagementTools
# 配置企业根CA
Install-AdcsCertificationAuthority `
-CACommonName $CACommonName `
-CAType EnterpriseRootCA `
-CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
-KeyLength 4096 `
-HashAlgorithmName SHA384 `
-ValidityPeriod Years `
-ValidityPeriodUnits 5 `
-Force
# 配置CRL分发点
certutil -setreg CA\CRLPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://$CAHostname/CA/certenroll/%3%8%9.crl"
# 配置AIACRL分发点
certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11\n2:http://$CAHostname/CA/certenroll/%1_%3%4.crt"
# 重启服务
Restart-Service certsvc
这样你就可以在Windows Server 2025上成功部署AD CS并开始颁发证书了。根据实际需求调整配置参数。