一、先决条件准备
系统要求:
- Windows Server 2025(已加入域)
- 管理员权限
- 静态IP地址
- 域控制器已部署
DNS配置:
- 确保服务器能解析域控制器
- 建议在域控制器上安装CA
二、安装AD CS角色
方法1:使用服务器管理器(GUI)
# 以管理员身份运行PowerShell
# 先安装AD CS角色
Install-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
# 或者一次性安装所有AD CS组件
Install-WindowsFeature AD-Certificate -IncludeAllSubFeature -IncludeManagementTools
方法2:使用服务器管理器图形界面
打开
服务器管理器
点击"
添加角色和功能"
选择"
基于角色或基于功能的安装"
选择当前服务器
勾选"
Active Directory Certificate Services"
添加所需的功能工具
点击"
安装"
三、配置证书颁发机构(CA)
安装完成后配置CA:
# 配置企业根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
通过GUI配置:
在服务器管理器中,点击右上角的警告标志
选择"配置目标服务器上的Active Directory证书服务"
指定凭据(域管理员)
选择要配置的角色服务:
- ✅ 证书颁发机构
- ✅ 证书颁发机构Web注册(可选,用于Web申请)
- ✅ 联机响应程序(可选)
- ✅ 网络设备注册服务(可选)
设置类型:
CA类型:
私钥配置:
- 创建新的私钥
- 加密算法:RSA
- 密钥长度:2048或4096
- 哈希算法:SHA256或SHA384
CA名称:
- 通用名称:如
Contoso-Root-CA
- 有效期:10年(推荐)
证书数据库位置:
- 默认:
C:\Windows\System32\CertLog
四、颁发和管理证书
1. 创建证书模板
# 查看现有模板
Get-CATemplate | Format-List Name, DisplayName
# 复制现有模板创建新模板(通过GUI更简单)
通过GUI创建模板:
运行
certsrv.msc 打开证书颁发机构控制台
右键"证书模板" → "管理"
右键现有模板 → "复制模板"
配置:
- 常规:名称、有效期
- 使用者名称:根据需求选择
- 扩展:密钥用法、应用程序策略
- 安全:设置哪些用户/组可以注册
2. 颁发证书
方法A:通过MMC控制台申请
运行
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
- 使用负载均衡器分发Web注册流量
监控和维护:
- 定期备份CA数据库和私钥
- 监控证书到期时间
- 定期更新CRL发布点
证书模板管理:
- 根据最小权限原则分配模板权限
- 为不同用途创建专用模板
- 设置合理的有效期
七、故障排除
# 检查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并开始颁发证书了。根据实际需求调整配置参数。