Oamc

AD CS 证书服务

本页目录

场景

内网一堆系统要 HTTPS,不想每台都自签,也不想年年买证书。

前置条件

  • 域环境,企业管理员权限
  • 一台独立服务器(别装在域控上)
  • 规划好 CA 名称,装完改不了

配置

# 1. 装企业根 CA
Install-WindowsFeature -Name AD-Certificate, ADCS-Cert-Authority -IncludeManagementTools

Install-AdcsCertificationAuthority -CAType EnterpriseRootCa `
  -CACommonName "Corp-Root-CA" -KeyLength 2048 -HashAlgorithm SHA256 `
  -ValidityPeriodYears 20 -Force

# 2. 装 Web 注册(方便申请证书)
Install-WindowsFeature -Name ADCS-Web-Enrollment -IncludeManagementTools
Install-AdcsWebEnrollment -Force

# 3. 申请 Web 服务器证书
$inf = @"
[NewRequest]
Subject = "CN=kb.corp.local"
KeyLength = 2048
KeyAlgorithm = RSA
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
RequestType = PKCS10
[Extensions]
2.5.29.17 = "{text}DNS=kb.corp.local&DNS=www.kb.corp.local"
"@
certreq -new web.inf web.req
certreq -submit web.req web.cer

验证

Get-CACrlDistributionPoint
certutil -CAInfo
certutil -ping

浏览器打开 http://ca.corp.local/certsrv 能申请证书。

回滚

Uninstall-AdcsCertificationAuthority -Force

坑

  • CA 名称装完不能改,想清楚再装。
  • 根 CA 私钥丢了整个 PKI 报废,务必备份。
  • CRL 分发点不可达,证书校验会失败。
  • 装在域控上会拖慢登录,也会带来安全风险。
  • 证书模板权限没配,普通用户申请不了。
  • 服务器时间不对,签出来的证书直接无效。