本文是 Windows 域控(DC)环境下中间证书颁发机构配置,基于已部署的skills.cn域环境(DC 服务器 IP:10.0.8.1),核心围绕中间 CA 的安装部署、根 CA 签名认证、证书模板定制、CRL(证书吊销列表)分发优化及终端证书申请验证展开。
中间 CA 作为 PKI(公钥基础设施)体系的 “中间桥梁”,承接根 CA(Root CA)的信任授权,负责向终端设备(如用户、服务器、IoT 设备)颁发证书,可有效避免根 CA 私钥直接暴露,降低根 CA 被攻击的风险,同时实现企业证书的分级管理。
- 核心目标:搭建合规中间 CA、实现证书模板定制化、保障证书链完整性、支持终端证书便捷申请与吊销、构建可追溯的证书审计体系。
一、前置准备与环境检查
1.1 基础环境要求
中间 CA 部署需依赖稳定的域环境与根 CA 支撑,需提前完成以下环境验证,确保无基础故障:
| 检查项 | 要求 |
|---|---|
| 操作系统版本 | Windows Server 2022 |
| 复现平台 | 天枢一体化虚拟仿真靶场平台 |
| AD DS 域环境 | 已加入skills.cn域,DC 服务器(10.0.8.1)通信正常 |
| 管理员权限 | 拥有域管理员账户(SKILLS\Administrator) |
| 二、安装 Active Directory Certificate Services(AD CS) |
AD CS 是 Windows 环境下 PKI 的核心组件,中间 CA 需通过 AD CS 实现证书颁发、模板管理、CRL 发布等功能,安装过程需严格遵循域环境权限要求。
2.1 安装 AD CS 角色
实现目的:部署 AD CS 的核心服务(证书颁发机构、Web 注册、在线响应程序),为中间 CA 提供基础功能支撑。
- 打开【Server Manager】→ 右侧【Add roles and features】,启动安装向导。
- 【安装类型】选择【Role-based or feature-based installations】→ 点击【next】。
- 【服务器选择】:默认选中本地服务器→ 点击【next】。
- 【服务器角色】:勾选【Active Directory Certificate Services】→ 弹出【添加功能】对话框,点击【添加功能】→ 点击【next】。
- 添加web服务:
- 点击【next】等待安装完成。
2.2 配置 AD CS 角色(提升为中间 CA)
实现目的:将已安装的 AD CS 服务配置为【企业级中间 CA】,生成证书请求文件(CSR),用于后续向根 CA 申请签名。
- 服务器管理器右上角弹出【Post-deployment Configuration】提示→ 点击【Configure Active Directory Certificate Services on the destination server】,启动配置向导。
- 注意要选择下属CA
- 注意留意请求文件的位置
- 然后一直点击下一步即可
三、根 CA 签名中间 CA 证书请求
中间 CA 本身无信任基础,需通过根 CA 签名其 CSR 文件,生成具备信任链的中间 CA 证书,此步骤需在根 CA 服务器上执行。
3.1 复制 CSR 文件至根 CA
- 将生成的req交给rootca认证并返回所需要的两个证书,rootca的和dc服务器的。
- 由于rootca服务器没有提供自动上传和认证的服务,所以这里选择将dc的req文件发送到rootca之后手动命令的方式认证证书,这里简单一点直接scp的方式发送req。
3.2 根 CA 签名中间 CA 证书
操作目的:基于根 CA 的私钥,对中间 CA 的 CSR 文件进行签名,生成中间 CA 证书,并合并根 CA 与中间 CA 证书为证书链文件,确保终端设备能完整验证信任链。
- 接下来回到rootca服务器进行操作,创建一个openssl.conf文件用于辅助生成dc的证书
[root@www ~]# ls
anaconda-ks.cfg ca dc.skills.cn_skills-DC-CA.req openssl.conf
[root@www ~]# cat openssl.conf
[ v3_intermediate_ca ]
basicConstraints = critical, CA:TRUE, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
[root@www ~]#
- 生成证书
[root@www ~]# openssl x509 -req -in /root/dc.skills.cn_skills-DC-CA.req -CA /root/ca/certs/root.ca.cert.pem -CAkey /root/ca/private/root.ca.key.pem -CAcreateserial -out /root/dc.skills.cn_skills-DC-CA.cert.pem -days 1825 -sha256 -extfile /root/openssl.conf -extensions v3_intermediate_ca
Certificate request self-signature ok
subject=DC=cn, DC=skills, CN=skills-DC-CA
Enter pass phrase for /root/ca/private/root.ca.key.pem:
[root@www ~]# ls
anaconda-ks.cfg ca dc.skills.cn_skills-DC-CA.cert.pem dc.skills.cn_skills-DC-CA.req openssl.conf
[root@www ~]#
- 回到dc服务器将dc.crt和root.crt拷贝回来
- 将两个证书后缀的cert.pem改为crt就可以被windows识别了
四、完成中间 CA 配置(导入签名证书)
将根 CA 签名后的中间 CA 证书导入 AD CS,完成中间 CA 的最终激活,使其具备证书颁发能力。
4.1 导入根 CA 签名后的中间 CA 证书
- 先双击安装rootca的证书,然后打开【Server Manager 】→【Tools】→【Certification Authority】,启动证书颁发机构控制台;
- 安装后启动ca服务
五、创建PKI策略组
同上一篇文档的创建方式创建PKI策略组
然后需完成以下配置
- 设置域内计算机信任RootCA服务器的证书为受信任的根证书颁发机构。
- 设置域内计算机信任DC服务器的证书作为中间证书颁发机构。
先按照以下路径导入rootca的证书 Computer Configuration
→ Policies
→ Windows Settings
→ →Security Settings
→ → →Public Key Policies
→ → → →Trusted Root Certification Authorities
然后按照一下路径导入dc的证书
Computer Configuration
→ Policies
→ Windows Settings
→ → Security Settings
→ → → Public Key Policies
→ → → → Intermediate Certification Authorities