迁移证书颁发机构(CA)可确保组织的证书服务的连续性。 本指南提供成功迁移 CA 的分步说明和最佳做法。 它涵盖了备份 CA 数据库和私钥、从源服务器中删除 CA 角色服务以及还原目标服务器上的 CA 等基本任务。 无论是使用证书颁发机构管理单元、Windows PowerShell 还是命令行工具(如 Certutil),本指南都提供了针对各种迁移方案定制的详细步骤。 按照这些说明确保顺利且安全的迁移过程。
先决条件
在迁移证书颁发机构(CA)之前,请确保满足以下先决条件。
必须具有:
- 源服务器和目标服务器的管理访问权限。 对于企业 CA,请确保你是企业管理员组或域管理员组中的成员。
- 访问证书颁发机构管理单元、PowerShell 或 Certutil 等工具来执行备份和还原。
- 用于存储备份文件的安全可访问位置。 确保该位置受到保护,防止未经授权的访问。
- 源服务器与目标服务器之间的网络连接。
- 对于故障转移聚类分析:
- 已配置和可访问共享存储。
- 正确设置并授予权限的群集节点。
通过完成这些先决条件,可以确保证书颁发机构的顺利和安全迁移。
执行备份
在开始迁移 CA 之前,首先需要备份:
- CA 数据库
- 私钥
- CA 注册表设置
- CAPolicy.inf 文件
- CA 模板列表(仅适用于企业 CA)
在继续移除 CA 角色之前,还应发布有效期较长的 CRL。
备份 CA 数据库和私钥
可以使用证书颁发机构管理单元、PowerShell 或使用 Certutil 备份 CA 数据库和私钥。 登录到源 CA 时,请完成本节中所述的备份过程之一。
必须使用属于 CA 管理员的帐户。 在企业 CA 上,CA 管理员的默认配置包括本地管理员组、企业管理员组和域管理员组。 在独立 CA 上,CA 管理员的默认配置包括本地管理员组。
注释
如果 CA 使用硬件安全模块(HSM),请遵循 HSM 供应商提供的过程备份私钥。
完成备份步骤后,应停止 Active Directory 证书服务服务(Certsvc),以防止颁发更多证书。 将 CA 角色服务添加到目标服务器之前,应从源服务器中删除 CA 角色服务。
在这些过程中创建的备份文件应存储在同一位置,以简化迁移。 应可从目标服务器访问该位置。
以下步骤介绍如何在服务器管理器中启动并使用证书颁发机构管理单元备份 CA 数据库和私钥。
如有必要,请选择备份位置并附加介质。
登录到源 CA。
在服务器管理器中,选择“工具”,然后选择“证书颁发机构”打开管理单元。
右键单击具有 CA 名称的节点,指向 “所有任务”,然后选择“ 备份 CA”。
在 CA 备份向导的 “欢迎 ”页上,选择“ 下一步”。
在“ 要备份的项 ”页上,选中 “私钥”和“CA 证书”证书 以及 证书数据库和证书数据库日志 复选框,指定备份位置,然后选择“ 下一步”。
在 “选择密码 ”页上,键入密码以保护 CA 私钥,然后选择“ 下一步”。
在“ 完成备份向导 ”页上,选择“ 完成”。
备份完成后,请在指定的位置验证以下文件:
CAName.p12 文件包含 CA 证书和私钥
包含文件certbkxp.dat、edb#####.log和 CAName.edb 的数据库文件夹
打开命令提示符窗口,然后键入 net stop certsvc 以停止 Active Directory 证书服务。
将所有备份文件复制到可从目标服务器访问的位置;例如,网络共享或可移动媒体。
备份 CA 注册表设置
完成以下过程之一以备份 CA 注册表设置。
在备份过程中创建的文件应存储在数据库和私钥备份文件所在的同一位置,以简化迁移。 应可从目标服务器访问该位置;例如,目标服务器上的可移动媒体或共享文件夹或其他域成员。
必须使用作为本地管理员组成员的帐户登录到源证书颁发机构。
使用 Regedit.exe 备份 CA 注册表设置
选择 “开始”,指向 “运行”,然后键入 regedit 以打开注册表编辑器。
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc中,右键单击 “配置”,然后选择“ 导出”。
指定位置和文件名,然后选择“ 保存”。 这会创建一个注册表文件,其中包含源 CA 中的 CA 配置数据。
将注册表文件复制到可从目标服务器访问的位置;例如,共享文件夹或可移动媒体。
使用 Reg.exe 备份 CA 注册表设置
打开命令提示符窗口。
键入 reg export HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration<输出文件>.reg然后按 Enter。
将注册表文件复制到可从目标服务器访问的位置;例如,共享文件夹或可移动媒体。
备份 CAPolicy.inf
如果源 CA 使用的是自定义 CAPolicy.inf 文件,则应将该文件复制到源 CA 备份文件所在的同一位置。
CAPolicy.inf 文件位于 %SystemRoot% 目录中,通常为 C:\Windows。
备份 CA 模板列表
企业 CA 可以为其分配证书模板。 在开始 CA 迁移之前,应记录分配的证书模板。 不会随 CA 数据库或注册表设置备份来备份该信息。 这是因为证书模板及其与企业 CA 的关联存储在 AD DS 中。 需要向目标服务器添加相同的模板列表才能完成 CA 迁移。
注释
完成此过程后,分配给源 CA 的证书模板不会更改。这一点很重要。
可以使用证书颁发机构管理单元或 Certutil.exe –catemplates 命令确定分配给 CA 的证书模板。
使用证书颁发机构管理单元记录 CA 模板列表
使用本地管理凭据登录到 CA 计算机。
打开证书颁发机构管理单元。
在控制台树中,展开 证书颁发机构,然后选择 “证书模板”。
通过拍摄屏幕截图或将列表键入文本文件来记录证书模板列表。
使用 Certutil.exe 记录 CA 模板列表
使用本地管理凭据登录到 CA 计算机。
打开命令提示符窗口。
键入以下命令,然后按 Enter。
certutil.exe –catemplates > catemplates.txt
验证 catemplates.txt 文件是否包含模板列表。
注释
如果未将证书模板分配给 CA,则该文件包含错误消息:0x80070490(找不到元素)。
发布具有延长有效期的 CRL
在开始 CA 迁移之前,最好发布有效期超出计划迁移期的 CRL。 CRL 的有效期应至少是计划迁移的时间长度。 这是在迁移期间使客户端计算机上的证书验证过程得以持续进行所必需的。
应为每个正在迁移的 CA 发布一个有效期延长的 CRL。 此过程对于根 CA 尤为重要,因为 CRL 不可用可能会影响大量证书。
默认情况下,CRL 有效期等于 CRL 发布期加上 10%。 确定适当的 CRL 有效期后,设置 CRL 发布间隔,并通过完成以下过程手动发布 CRL: 计划证书吊销列表的发布,并 手动发布证书吊销列表。
重要
在更改 CRL 发布期间之前先记录其值。 迁移完成后,CRL 发布期应重置为以前的值。 客户端计算机仅在本地缓存的 CRL 有效期过期后下载新的 CRL。 因此,不应使用过长的 CRL 有效期。
从源服务器中删除 CA 角色服务
在完成备份过程并在目标服务器上安装 CA 角色服务之前,从源服务器中删除 CA 角色服务非常重要。 企业 CA 和作为域成员的独立 CA 将配置数据存储在与 CA 公用名称相关联的 Active Directory 域服务(AD DS)中。 卸载 CA 角色服务后,还会从 AD DS 中移除 CA 的配置数据。 由于源 CA 和目标 CA 共享相同的公用名,因此在目标服务器上安装 CA 角色服务后,从源服务器中删除 CA 角色服务会删除目标 CA 所需的配置数据,并干扰其作。
CA 数据库、私钥和证书不会通过删除 CA 角色服务从源服务器中删除。 如果迁移失败并需要执行回滚,则在源服务器上重新安装 CA 角色服务会还原源 CA。
警告
尽管不建议这样做,但某些管理员可能会选择在源服务器上安装 CA 角色服务,以便在迁移失败时使源 CA 快速联机。 如果在目标服务器上安装 CA 角色服务之前选择不从源服务器中删除 CA 角色服务,请务必禁用 Active Directory 证书服务服务(Certsvc),并在目标服务器上安装 CA 角色服务之前关闭源服务器。 完成到目标服务器的迁移后,请勿从源服务器中删除 CA 角色服务。
若要删除 CA 角色服务,请使用服务器管理器中的 “删除角色和功能 向导”。
- 在服务器管理器中,选择“ 管理”,然后选择 “删除角色和功能”。
- 在向导中选择“下一步”,直到到达“服务器角色”。
- 在“服务器角色”的“Active Directory 证书服务”下,清除“证书颁发机构”复选框。
- 请确认您是否也想删除那些需要证书颁发机构的功能。
- 选择 “下一步 ”,直到到达“确认”页。 然后选择“删除”。
- 确认已成功移除角色。
从域中删除源服务器
由于计算机名称在 Active Directory 域中必须唯一,因此必须在将目标服务器加入域之前从其域中删除源服务器,并从 Active Directory 中删除关联的计算机帐户。
完成以下过程以从域中删除源服务器。
使用 PowerShell 从域中删除源服务器
使用 Windows PowerShell cmdlet Remove-ADComputer 从 AD DS 中删除计算机帐户。
若要从 Active Directory 中删除特定计算机,请使用以下命令:
Remove-ADComputer -Identity "COMPUTER_IDENTITY"
该 -Identity
参数用于通过提供以下属性值之一来指定 Active Directory 计算机对象:可分辨名称、GA GUID(objectGUID)、安全标识符(objectSid)或安全帐户管理器帐户名称(sAMAccountName)。
将目标服务器加入域
将目标服务器加入域之前,请将计算机名称更改为与源服务器相同的名称。 然后完成将目标服务器加入域的过程。
如果目标服务器正在服务器核心安装选项上运行,则必须使用命令行过程。
若要重命名目标服务器,你必须是本地 Administrators 组的成员。 若要将服务器加入域,你必须是域管理员或企业管理员组的成员,或者具有将目标服务器加入到域中的组织单位(OU)的委派权限。
重要
如果要迁移不是域成员的独立 CA,请仅完成目标服务器重命名的步骤,并且不要将目标服务器加入域。
使用 PowerShell 将目标服务器加入域
在目标服务器上,打开提升的 PowerShell 窗口。
键入以下内容,使用 cmdlet Rename-Computer:
Rename-Computer -NewName "NEW_COMPUTER_NAME" -DomainCredential Domain01\Admin01 -Restart
目标服务器重启后,请使用有权将计算机加入域内的帐户进行登录。
打开一个具有提升权限的 PowerShell 窗口,然后使用 cmdlet Add-Computer 将计算机添加到域中。
Add-Computer -DomainName Domain01 -Restart
将 CA 角色服务添加到目标服务器
本部分介绍将 CA 角色服务添加到目标服务器的两个不同的过程,包括有关使用故障转移群集的特殊说明。
审阅以下声明,以确定需要完成的步骤。
如果目标服务器正在运行 Server Core 安装选项,则可以使用 Windows PowerShell 通过 cmdlet Install-AdcsCertificationAuthority 安装 CA。
如果要迁移到使用 HSM 的 CA,请完成 导入 CA 证书 并 添加 CA 角色服务的过程。
如果要迁移到使用故障转移群集的 CA,则必须在每个群集节点上完成 导入 CA 证书 和 添加 CA 角色服务 的过程。 将 CA 角色服务添加到每个节点后,停止 Active Directory 证书服务服务(Certsvc)。 另请确认:
- CA 使用的共享存储处于联机状态,并分配给要向其添加 CA 角色服务的节点。
- CA 数据库和日志文件必须位于共享存储上。
导入 CA 证书
如果要使用服务器管理器添加 CA 角色服务,请完成以下过程以导入 CA 证书。
导入 CA 证书
启动本地计算机帐户的证书管理单元。
在控制台树中,双击“证书”(本地计算机),然后选择“个人”。
在 “作 ”菜单上,选择“ 所有任务”,然后选择“ 导入...” 以打开“证书导入向导”。 选择“下一步”。
在源 CA 上找到由 CA 证书和私钥备份创建的 <CAName>.p12 文件,然后选择 打开。
键入密码,然后选择“ 确定”。
选择“将所有的证书放入下列存储”。
验证“个人”是否显示在“证书存储”中。 如果没有,请选择“浏览”,选择“个人”,然后选择“确定”。
注释
如果使用网络 HSM,请完成步骤 8 到 10 以修复导入的 CA 证书与 HSM 中存储的私钥之间的关联。 否则,请选择“完成”以完成向导,然后选择“确定”以确认证书已成功导入。
在控制台树中,双击 “个人证书”,然后选择导入的 CA 证书。
在“操作”菜单上,选择“打开”。 选择“ 详细信息 ”选项卡,将序列号复制到剪贴板,然后选择“ 确定”。
打开命令提示符窗口,键入 certutil –repairstore My“{Serialnumber}” ,然后按 Enter。
添加 CA 角色服务
如果目标服务器是域成员,则必须使用作为域管理员或企业管理员组成员的帐户,以便安装向导访问 AD DS 中的对象。 使用服务器管理器或 PowerShell 添加 CA 角色服务。
重要
如果从源 CA 创建备份 CAPolicy.inf 文件,请查看设置并根据需要进行调整。 在添加 CA 角色服务之前,将 CAPolicy.inf 文件复制到目标 CA 的 %windir% 文件夹(C:\Windows)。
若要使用服务器管理器添加 CA 角色服务,请执行以下步骤。
登录到目标服务器并启动服务器管理器。
在控制台树中,选择“ 角色”。
在操作菜单上,选择添加角色。
如果出现“开始之前”页,请选择“下一步”。
在 “选择服务器角色 ”页上,选中 “Active Directory 证书服务 ”复选框,然后选择“ 下一步”。
在 “AD CS 简介 ”页上,选择“ 下一步”。
在 “角色服务 ”页上,选中 “证书颁发机构 ”复选框,然后选择“ 下一步”。
注释
如果计划在目标服务器上安装其他角色服务,则应先完成 CA 安装,然后单独安装其他角色服务。 本指南中未介绍其他 AD CS 角色服务的安装过程。
在“ 指定设置类型 ”页上,指定 企业 版或 独立版,以匹配源 CA,然后选择“ 下一步”。
在“ 指定 CA 类型 ”页上,指定 根 CA 或 从属 CA,以匹配源 CA,然后选择“ 下一步”。
在“ 设置私钥 ”页上,选择 “使用现有私钥 ”并选择 证书并使用其关联的私钥。
注释
如果 CA 使用 HSM,请遵循 HSM 供应商提供的过程选择私钥。
在 “证书 ”列表中,选择导入的 CA 证书,然后选择“ 下一步”。
在 CA 数据库 页上,指定 CA 数据库和日志文件的位置。
在 “确认 ”页上,查看消息,然后选择“ 配置”。
如果要迁移到故障转移群集,应在 CA 使用 HSM 时停止 Active Directory 证书服务服务 (Certsvc) 和 HSM 服务。 然后重复这些过程以导入 CA 证书,并在其他群集节点上添加 CA 角色服务。
若要使用 PowerShell 安装 CA 角色服务,请使用 Install-AdcsCertificationAuthority cmdlet。
还原 CA
现在是时候开始恢复 CA 了。 如有必要,还原 CA 数据库、CA 注册表设置和证书模板列表。
在目标服务器上还原 CA 数据库和配置
只有在目标服务器上安装了 CA 角色服务后,才能完成本部分中的过程。
如果要迁移到故障转移群集,请在还原 CA 数据库之前将 CA 角色服务添加到所有群集节点。 CA 数据库应仅在一个群集节点上还原,并且必须位于共享存储上。
恢复源 CA 备份包括以下任务:
- 在目标服务器上还原源 CA 数据库
- 还原目标服务器上的源 CA 注册表设置
- 验证目标 CA 上的证书扩展
- 还原证书模板列表(仅适用于企业 CA)
在目标服务器上还原源 CA 数据库
本部分介绍使用证书颁发机构管理单元、PowerShell 或 Certutil 在目标服务器上还原源 CA 数据库备份的不同过程。
如果要迁移到服务器核心安装,则必须使用 Certutil PowerShell。 可以使用证书颁发机构管理单元和服务器管理器远程管理在服务器核心安装上运行的 CA。 但是,只能使用 Windows PowerShell 远程还原 CA 数据库。
如果要迁移到故障转移群集,请确保共享存储处于联机状态,并仅在一个群集节点上还原 CA 数据库。
要还原 CA 数据库,请从服务器管理器开始,并使用证书颁发机构管理单元完成以下步骤:
使用 CA 管理员帐户登录到目标服务器。
启动证书颁发机构管理单元。
右键单击具有 CA 名称的节点,指向 “所有任务”,然后选择“ 还原 CA”。
在“欢迎”页上,选择“下一步”。
在“ 要还原的项 ”页上,选择 “证书数据库”和“证书数据库日志”。
选择“浏览”。 导航到保存 数据库 文件夹的父文件夹(包含 CA 数据库备份期间创建的 CA 数据库文件的文件夹)。
警告
不要选择“数据库”文件夹。 选择其父文件夹。
选择“下一步”,然后选择“完成”。
选择 “是 ”以启动 CA 服务(certsvc)。
还原目标服务器上的源 CA 注册表设置
CA 配置信息存储在注册表中: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc
将注册表设置从源 CA 导入到目标 CA 之前,请确保创建默认目标 CA 注册表配置的备份。 请务必对目标 CA 执行这些步骤,并将注册表文件名命名为“DefaultRegCfgBackup.reg”,以避免混淆。
重要
某些注册表参数应在不更改源 CA 计算机的情况下进行迁移,并且不应迁移某些参数。 如果迁移了这些值,则应在迁移后在目标系统中更新它们,因为某些值与 CA 本身相关联,而其他值则与域环境、物理主机、Windows 版本或目标系统中可能不同的其他因素相关联。
建议执行注册表配置导入的方法首先在文本编辑器中打开从源 CA 导出的注册表文件,并分析它以获取可能需要更改或删除的设置。
分析注册表文件
右键单击从源 CA 导出设置后创建的 .reg 文本文件。
选择 “编辑” 以在文本编辑器中打开该文件。
如果目标 CA 的计算机名称与源 CA 的计算机名称不同,请在文件中搜索源 CA 计算机的主机名。 对于找到的每个主机名实例,请确保它是目标环境的适当值。 如有必要,请更改主机名。 更新 CAServerName 值。
检查指示本地文件路径的任何注册表值,以确保目标 CA 的驱动器号名称和路径正确。 如果源和目标 CA 之间不匹配,请更新文件中的值,或者从文件中删除这些值,以便在目标 CA 上保留默认设置。
警告
某些注册表值与 CA 相关联,而另一些值则与域环境、物理主机、Windows 版本甚至其他角色服务相关联。 因此,应迁移某些注册表参数,而无需更改源 CA 计算机,而其他参数则不应迁移。 目标 CA 上还原的.reg文本文件中未列出的任何值都将保留其现有设置或默认值。
删除不想导入到目标 CA 的任何注册表值。 编辑.reg文本文件后,即可将其导入目标 CA。 通过将源服务器注册表设置导入目标服务器,源 CA 配置将迁移到目标服务器。
在目标 CA 上导入源 CA 注册表备份
以本地管理员组的成员身份登录到目标服务器。
打开命令提示符窗口。
键入 net stop certsvc ,然后按 Enter。
键入 reg import "注册表设置备份.reg",然后按 Enter。
编辑 CA 注册表设置
选择“开始”,在“搜索程序和文件”框中键入 regedit.exe,然后按 Enter 打开注册表编辑器。
在控制台树中,找到密钥 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration,然后选择“ 配置”。
在详细信息窗格中,双击 DBSessionCount。
选择 十六进制。 在 “值”数据中,键入 64,然后选择“ 确定”。
验证以下设置中指定的位置是否适合目标服务器,并根据需要更改这些位置以指示 CA 数据库和日志文件的位置。
DBDirectory
DBLogDirectory
DBSystemDirectory
DBTempDirectory
重要
仅当目标服务器的名称不同于源服务器的名称时,才完成步骤 6 到 8。
在注册表编辑器的控制台树中,展开 “配置”,然后选择 CA 名称。
通过将源服务器名称替换为目标服务器名称,修改以下注册表设置的值。
注释
在以下列表中,仅当指定了特定的 CA 安装选项时,才创建 CACertFileName 和 ConfigurationDirectory 值。 如果未显示这两个设置,可以继续执行下一步。
CAServerName
CACertFileName
ConfigurationDirectory – 此值应出现在 Windows 注册表中的以下位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration。
验证目标 CA 上的证书扩展
如果存在服务器名称更改,则导入源 CA 注册表设置和编辑注册表的步骤旨在保留源 CA 用于发布 CRL 和 CA 证书的网络位置。 如果源 CA 已发布到默认 Active Directory 位置,则完成上述过程后,应该有一个启用了发布选项的扩展和一个引用源服务器的 NetBIOS 名称的 LDAP URL;例如,ldap:///CN=<CATruncatedName><CRLNameSuffix>,CN=<ServerShortName>,CN=CDP,CN=Public Key Services,CN=Services,<ConfigurationContainer><CDPObjectClass>。
由于许多管理员配置为其网络环境自定义的扩展,因此无法提供配置 CRL 分发点和颁发机构信息访问扩展的确切说明。
仔细查看配置位置和发布选项,并确保扩展正确符合组织的要求。
使用证书颁发机构管理单元验证扩展
按照指定 CRL 分发点 (https://go.microsoft.com/fwlink/?LinkID=145848)中所述的示例过程,查看和修改 CRL 分发点和颁发机构信息访问扩展和发布选项。
如果目标服务器名称与源服务器名称不同,请添加一个 LDAP URL,指定一个位置,该位置使用替换变量 <ServerShortName> 引用目标服务器的 NetBIOS 名称;例如
ldap:///CN=\<CATruncatedName\>\<CRLNameSuffix\>,CN=\<ServerShortName\>,CN=CDP,CN=Public Key Services,CN=Services,\<ConfigurationContainer\>\<CDPObjectClass\>
。确保 CDP 选项已设置,以便以前的 CDP 位置未包括在新颁发证书的 CDP 扩展中或 CRL 的最新 CRL 扩展中。
还原证书模板列表
只有企业 CA 才需要以下过程。 独立 CA 没有证书模板。
将证书模板分配给目标 CA
使用管理凭据登录到目标 CA。
打开命令提示符窗口。
键入:
certutil -setcatemplates + <templatelist>
然后按 Enter。注释
将 模板列表 替换为在“使用 Certutil.exe记录 CA 模板列表”过程中创建的 catemplates.txt 文件中所列的模板名称的逗号分隔列表。例如, certutil -setcatemplates +Administrator、User、DomainController。
授予对 AIA 和 CDP 容器的权限
如果目标服务器的名称与源服务器不同,则必须向目标服务器授予对 AD DS 中源服务器的 CDP 和 AIA 容器的权限,才能发布 CRL 和 CA 证书。 如果存在服务器名称更改,请完成以下过程。
授予对 AIA 和 CDP 容器的权限
以 Enterprise Admins 组成员的身份登录到其上安装了“Active Directory 站点和服务”管理单元的计算机。 打开 Active Directory 站点和服务(dssite.msc)。
在控制台树中,选择顶部节点。
在 “视图 ”菜单上,选择“ 显示服务”节点。
在控制台树中,展开 “服务”,展开 “公钥服务”,然后选择 “AIA”。
在详细信息窗格中,右键单击 CA 的名称,然后选择“ 属性”。
选择 “安全 ”选项卡,然后选择“ 添加”。
选择 对象类型,选择 “计算机”,然后选择“ 确定”。
键入 CA 的名称,然后选择“ 确定”。
在 “允许 ”列中,选择 “完全控制”,然后选择“ 应用”。
此时,以前的 CA 计算机对象将显示在“组或用户名”中(作为“未知帐户”,其后带有安全标识符)。 可以删除该帐户。 为此,请选择它,然后选择“ 删除”。 选择“确定”。
在控制台树中,展开 CDP,然后选择与 CA 同名的文件夹。
在详细信息窗格中,右键单击列表顶部的 CRLDistributionPoint 项,然后选择“ 属性”。
选择 “安全 ”选项卡,然后选择“ 添加”。
选择 对象类型,选择 “计算机”,然后选择“ 确定”。
键入目标服务器的名称,然后选择“ 确定”。
在 “允许 ”列中,选择 “完全控制”,然后选择“ 应用”。
此时,以前的 CA 计算机对象将显示在“组或用户名”中(作为“未知帐户”,其后带有安全标识符)。 可以删除该帐户。 为此,请选择它,然后选择“ 删除”。 选择“确定”。
为每个 CRLDistributionPoint 项目重复步骤 13 到 18。
注释
如果在 CDP 扩展中使用文件//\computer\share 语法将 CRL 发布到共享文件夹位置,则可能需要调整对该共享文件夹的权限,以便目标 CA 能够写入该位置。 如果要在目标服务器上托管 CDP 并使用包含目标别名(例如,pki.contoso.com)的 AIA 或 CDP 路径,则可能需要调整 DNS 记录,使其指向正确的目标 IP 地址。
故障转移群集的额外过程
如果要迁移到故障转移群集,请在 CA 数据库和注册表设置迁移到目标服务器后完成以下过程。
- 为目标 CA 配置故障转移群集
- 授予对公钥容器的权限
- 在 AD DS 中编辑群集 CA 的 DNS 名称
- 为故障转移群集配置 CRL 分发点
为目标 CA 配置故障转移群集
如果要迁移到故障转移群集,请完成以下过程,为 AD CS 配置故障转移群集。
将 AD CS 配置为群集资源
选择 “开始”,指向 “运行”,键入 Cluadmin.msc,然后选择“ 确定”。
在故障转移群集管理管理单元的控制台树中,选择“服务和应用程序”。
在 “作 ”菜单上,选择“ 配置服务”或“应用程序”。 如果出现“开始之前”页面,请选择“下一步”。
在服务和应用程序列表中,选择 “通用服务”,然后选择“ 下一步”。
在服务列表中,选择 “Active Directory 证书服务”,然后选择“ 下一步”。
指定服务名称,然后选择“ 下一步”。
选择仍装载到节点的磁盘存储,然后选择“ 下一步”。
若要配置共享注册表配置单元,请选择“ 添加”,键入 SYSTEM\CurrentControlSet\Services\CertSvc,然后选择“ 确定”。 选择下一步两次。
选择 “完成 ”以完成 AD CS 的故障转移配置。
在控制台树中,双击 “服务和应用程序”,然后选择新创建的群集服务。
在详细信息窗格中,选择 “通用服务”。 在“操作”菜单上,选择“属性”。
将 资源名称 更改为 证书颁发机构,然后选择“ 确定”。
如果为 CA 使用硬件安全模块 (HSM),请完成以下过程。
在 CA 与网络 HSM 服务之间建立依赖关系
打开故障转移群集管理单元。 在控制台树中,选择 “服务和应用程序”。
在详细信息窗格中,选择以前创建的群集服务名称。
在 “作 ”菜单上,选择 “添加资源”,然后选择“ 通用服务”。
在 “新建资源” 向导显示的可用服务列表中,选择已安装用于连接网络 HSM 的服务名称。 选择“ 下一步 ”两次,然后选择“ 完成”。
在控制台树中的 “服务和应用程序 ”下,选择群集服务的名称。
在详细信息窗格中,选择新建的 通用服务。 在“操作”菜单上,选择“属性”。
在“ 常规 ”选项卡上,根据需要更改服务名称,然后选择“ 确定”。 验证服务是否处于联机状态。
在详细信息窗格中,选择以前命名的 证书颁发机构的服务。 在“操作”菜单上,选择“属性”。
在“ 依赖项 ”选项卡上,选择“ 插入”,从列表中选择网络 HSM 服务,然后选择“ 确定”。
授予对公钥容器的权限
如果要迁移到故障转移群集,请完成以下过程以向以下 AD DS 容器授予所有群集节点权限:
- AIA 容器
- 注册容器
- KRA 容器
在 AD DS 中授予对公钥容器的权限
以域管理员组或企业管理员组的成员身份登录到域成员计算机。
选择 “开始”,指向 “运行”,键入 dssite.msc,然后选择“ 确定”。
在控制台树中,选择顶部节点。
在 “视图 ”菜单上,选择“ 显示服务”节点。
在控制台树中,展开 “服务”,然后选择“ 公钥服务”,然后选择 “AIA”。
在详细信息窗格中,右键单击源 CA 的名称,然后选择“ 属性”。
选择 “安全 ”选项卡,然后选择“ 添加”。
选择 对象类型,选择 “计算机”,然后选择“ 确定”。
键入所有群集节点的计算机帐户名称,然后选择“ 确定”。
在 “允许 ”列中,选中每个群集节点旁边的 “完全控制 ”复选框,然后选择“ 确定”。
在控制台树中,选择 “注册服务”。
在详细信息窗格中,右键单击源 CA 的名称,然后选择“ 属性”。
选择 “安全 ”选项卡,然后选择“ 添加”。
选择 对象类型,选择 “计算机”,然后选择“ 确定”。
键入所有群集节点的计算机帐户名称,然后选择“ 确定”。
在 “允许 ”列中,选中每个群集节点旁边的 “完全控制 ”复选框,然后选择“ 确定”。
在控制台树中,选择 KRA。
在详细信息窗格中,右键单击源 CA 的名称,然后选择“ 属性”。
选择 “安全 ”选项卡,然后选择“ 添加”。
选择 对象类型,选择 “计算机”,然后选择“ 确定”。
键入所有群集节点的名称,然后选择“ 确定”。
在 “允许 ”列中,选中每个群集节点旁边的 “完全控制 ”复选框,然后选择“ 确定”。
在 AD DS 中编辑群集 CA 的 DNS 名称
在第一个群集节点上安装 CA 服务时,会创建注册服务对象,并将该群集节点的 DNS 名称添加到 Enrollment Services 对象的 dNSHostName 属性中。 由于 CA 必须在所有群集节点上运行,因此 Enrollment Services 对象的 dNSHostName 属性的值必须是过程“将 AD CS 配置为群集资源”的步骤 6 中指定的服务名称。
如果要迁移到群集 CA,请在活动群集节点上完成以下过程。 只需在一个群集节点上完成该过程。
在 AD DS 中编辑群集 CA 的 DNS 名称
以企业管理员组的成员身份登录到活动群集节点。
选择 “开始”,指向 “运行”,键入 adsiedit.msc,然后选择“ 确定”。
在控制台树中,选择 ADSI 编辑。
在 “作 ”菜单上,选择“ 连接到”。
在已知命名上下文列表中,选择“ 配置”,然后选择“ 确定”。
在控制台树中,展开“配置”、“服务和公钥服务”,然后选择“注册服务”。
在详细信息窗格中,右键单击群集 CA 的名称,然后选择“ 属性”。
选择 dNSHostName,然后选择 “编辑”。
当 CA 显示在故障转移群集管理器管理单元的“故障转移群集管理”下时,键入其服务名称,然后选择“确定”。
选择“确定”以保存更改。
为故障转移群集配置 CRL 分发点
在 CA 的默认配置中,服务器的短名称用作 CRL 分发点和授权信息访问位置的一部分。
当 CA 在故障转移群集上运行时,必须在 CRL 分发点和授权信息访问位置中将服务器的短名称替换为群集的短名称。 若要在 AD DS 中发布 CRL,必须手动添加 CRL 分发点容器。
重要
必须在活动群集节点上执行以下过程。
更改配置的 CRL 分发点
以本地管理员组的成员身份登录到活动群集节点。
依次选择“开始”、“运行”,键入 regedit,然后选择“确定”。
找到注册表项 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration。
选择 CA 的名称。
在右窗格中,双击 CRLPublicationURLs。
在第二行中,将 %2 替换为过程步骤 6 中指定的服务名称“将 AD CS 配置为群集资源”。
小窍门
该服务名称还显示在“故障转移群集管理”管理单元的“服务和应用程序”下。
重启 CA 服务。
打开命令提示符,键入 certutil -CRL,然后按 Enter。
注释
如果显示“找不到目录对象”错误消息,请完成以下过程,在 AD DS 中创建 CRL 分发点容器。
在 AD DS 中创建 CRL 分发点容器
在命令提示符下,键入 cd %windir%\System32\CertSrv\CertEnroll,然后按 Enter。 certutil –CRL 命令创建的 CRL 文件应位于此目录中。
若要在 AD DS 中发布 CRL,请键入 certutil -f -dspublish“CRLFile.crl” ,然后按 Enter。
后续步骤
完成迁移 CA 的过程后,应完成 验证证书颁发机构迁移中所述的过程。