企业内网普遍采用微软 AD 域环境,通过组策略批量分发国密根证书,是最高效、规范的管理方式。一旦部署完成,所有域内设备便能自动信任由相应国密根证书签发的所有 SSL 证书。
具体的操作步骤分为以下几步:
第1步:准备国密根证书文件
获取证书:从 GDCA、CFCA 等国密证书签发机构(CA)获取其 SM2 根证书文件。
确认格式:确保证书文件为 DER 编码的二进制 .cer 格式,这是组策略最稳定兼容的格式。若拿到的是 `.pem` 等其他格式,可使用 OpenSSL 工具进行转换。
关键点:请不要使用包含私钥的 `.pfx` 文件,确保待分发的是仅包含公钥的根证书文件。
第2步:在域控制器上创建并配置组策略 (GPO)
1. 打开组策略管理控制台:在域控制器上,运行 `gpmc.msc` 打开“组策略管理”控制台。
2. 创建并编辑 GPO:
在控制台中,定位到你的域名或目标组织单位 (OU,即 Organizational Unit),右键点击,选择“在此域中创建 GPO 并在此处链接”。
为新策略命名,例如“Deploy-SM2-Root-CA”。
右键点击新建的 GPO,选择“编辑”。
3. 导入根证书:在打开的组策略管理编辑器中,按以下路径依次展开:
计算机配置 → 策略 → Windows 设置 → 安全设置 → 公钥策略 → 受信任的根证书颁发机构
在右侧空白处点击右键,选择“导入”。
按照“证书导入向导”的提示,选择你准备好的国密根证书(.cer)文件,并完成导入。
第3步:链接 GPO 并确认作用范围
导入证书后,组策略对象(GPO)需要链接到正确的组织单位(OU)才能对目标计算机生效。你可以将 GPO 链接到整个域,或链接到存放着需要部署国密证书的计算机的特定 OU(如 Workstations、Servers 等)。确认链接无误且状态为“已启用”。
第4步:在客户端验证部署结果
1. 刷新策略:在任意目标客户端计算机上,以管理员身份打开命令提示符(CMD),运行 `gpupdate /force` 命令强制立即刷新组策略。
2. 证书验证:运行 `certlm.msc` 打开“本地计算机”证书管理单元,依次展开“受信任的根证书颁发机构” -> “证书”,即可看到刚刚部署的国密根证书。
3. 应用验证:使用内置国密算法的浏览器(如 360 安全浏览器、红莲花浏览器)访问由该根证书签发的国密 HTTPS 网站。如果地址栏显示安全锁图标且无安全警告,则说明部署完全成功。
国密部署的兼容性须知
部署过程本身与普通根证书无异,但其后续的使用有一些特殊之处,需要特别注意:
浏览器支持:标准版 Chrome、Edge 等浏览器并未内置对国密算法(SM2/SM3/SM4)的支持。即使根证书已导入,它们也无法直接访问国密 HTTPS 网站。所以,客户端必须使用360安全浏览器、红莲花浏览器等国产浏览器。
双证书场景:许多国密系统为兼容性采用“SM2+RSA双证书”方案,此时必须同时部署对应的国密根证书和国际算法根证书至客户端。
故障排查小贴士
如果部署未能生效,可以按以下顺序排查:
策略作用域:确认GPO已正确链接到包含目标计算机的组织单位(OU),而不是用户OU。
策略刷新:确保客户端已执行 `gpupdate /force`,并可运行 `gpresult /h report.html` 命令生成报告来检查策略是否已成功应用到本机。
证书文件:确认导入的是正确的根证书,且格式为 DER 编码的 .cer。
客户端时间:检查客户端系统时间是否与域控服务器同步,过大的时间差会导致证书有效期校验失败。
缓存与清理:若证书更新或替换失败,可尝试在 `certlm.msc` 中先手动删除旧证书,再重新部署。
浏览器配置:对于 Chromium 内核的浏览器,可能还需要额外启用 `#enable-gmssl` 实验性标志。