我想根据最佳实践构建新结构,创建一个脱机根,授权几个从属CA以实现容错等,但我不想搞砸已经存在的内容.显然你无法将现有的根CA转变为下属,因此排除了这一点.
我可以简单地在其他地方安装新根,而不是触及现有根吗? (或者可能使用新的root权限对现有CA进行交叉签名?)
解决方法
启动并运行新环境,但不要赋予它任何颁发证书的能力 – 在capolicy.inf中使用LoadDefaultTemplates = False.
虽然这些设备仍然设置为不发布任何模板,但是使用新环境,AIA位置,CRL分发等将所有设备都放在一边.使用Enterprise PKI管理单元检查所有模板的运行状况.
然后,当您准备好时,更改现有CA的配置以停止为某些模板颁发证书.你还没有杀死服务器,只是告诉它停止发布新的证书.将这些相同的模板添加到新环境的允许颁发策略中.
然后,在模板管理工具上使用“重新注册证书持有者”选项,以获取具有证书并自动注册的模板(用户,计算机和域控制器证书).这将使模板版本崩溃,并使其在自动注册脉冲时从新基础架构中获取新证书.
这将涵盖您的那些证书,但对于Web服务器证书,它不幸是一个手动过程.为每个重新发布,并将侦听器更改为新证书.
一旦你相当确信你已经重新颁发了所有证书,就会破坏旧的CA但是还没有删除该角色.做一些事情,删除CA配置中的所有AIA或CRL分发点,然后从这些位置删除文件/对象(LDAP可能是主要的,但http和smb也需要检查).等待问题几个星期;当某些内容破裂时,您可以重新添加您删除的AIA / CRL点,并在需要时重新发布(certutil -dspublish).
一旦您对使用旧CA的任何内容感到满意,请删除该角色,然后清理Active Directory. AIA,CRL和delta CRL需要手动删除,您可以在Enterprise PKI管理单元的“管理AD容器”选项中执行此操作.