本文介绍如何将证书颁发机构(CA)移动到其他服务器。
原始 KB 数: 298138
注意
本文适用于 Windows 2000、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019、Windows Server 2022。 对 Windows 2000 的支持于 2010 年 7 月 13 日结束。 Windows 2000 支持终止解决方案中心是规划 Windows 2000 迁移策略的起点。 对 Windows 2008 和 2008 R2 的支持于 2020 年 1 月 14 日结束。 有关详细信息,请参阅 Microsoft 支持生命周期策略。
总结
证书颁发机构(CA)是组织公钥基础结构(PKI)的核心组成部分。 CA 配置为存在多年或几十年,在此期间,托管 CA 的硬件可能会升级。
注意
若要将 CA 从运行 Windows 2000 Server 的服务器移动到运行 Windows Server 2003 的服务器,必须先将运行 Windows 2000 Server 的 CA 服务器升级到 Windows Server 2003。 然后,可以按照本文中所述的步骤进行操作。
确保目标服务器的 %Systemroot% 与从中执行系统状态备份的服务器 %Systemroot%* 匹配*。
安装 CA 服务器组件时,必须更改 CA 文件的路径,以便它们与备份的位置匹配。 例如,如果从 D:\Winnt\System32\Certlog 文件夹进行备份,则必须将备份还原到 D:\Winnt\System32\Certlog 文件夹。 无法将备份还原到 C:\Winnt\System32\Certlog 文件夹。 还原备份后,可以将 CA 数据库文件移动到默认位置。
如果尝试还原备份,并且 备份和目标服务器的 %Systemroot% 不匹配,可能会收到以下错误消息:
从完整映像执行还原之前,无法执行增量映像的还原。 目录名称无效。 0x8007010b (WIN32/HTTP:267)
将证书服务从 32 位操作系统移动到 64 位操作系统,反之亦然可能会失败,并出现以下错误消息之一:
此目录中不存在预期数据。
从完整映像执行还原之前,无法执行增量映像还原0x8007010b(WIN32/HTTP:267)
数据库格式从 32 位版本更改为 64 位版本会导致不兼容,并且会阻止还原。 这类似于从 Windows 2000 移动到 Windows Server 2003 CA。 但是,没有从 32 位版本的 Windows Server 2003 升级到 64 位版本的升级路径。 因此,不能将现有 32 位数据库移动到基于 Windows Server 2003 的计算机上的 64 位数据库。 但是,你可以从 Windows Server 2003 CA(在 Windows Server 2003 x86 上运行)升级到 Windows Server 2008 R2 CA(在 Windows Server 2008 R2 x64 上运行)。 支持此升级。
基于 x64 的 Windows Server 2003 R2 CD2 版本仅更新基于 EM64T 体系结构或 AMD64 体系结构的 64 位版本的 Windows Server 2003。
备份和还原证书颁发机构密钥和数据库
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。
-
请注意在证书颁发机构管理单元的“证书模板”文件夹中配置的证书模板。 证书模板设置存储在 Active Directory 中。 它们不会自动备份。 必须在新的 CA 上手动配置证书模板设置,以维护同一组模板。
注意
证书模板文件夹仅存在于企业 CA 上。 独立 CA 不使用证书模板。 因此,此步骤不适用于独立 CA。
-
使用证书颁发机构管理单元备份 CA 数据库和私钥。 为此,请按照下列步骤进行操作:
- 在证书颁发机构管理单元中,右键单击 CA 名称,单击“所有任务”,然后单击“备份 CA**”**以启动证书颁发机构备份向导。
- 单击“下一步”,然后单击“私钥”和“CA 证书”。
- 单击“ 证书数据库”和“证书数据库日志”。
- 使用空文件夹作为备份位置。 确保新服务器可以访问备份文件夹。
- 单击 “下一步” 。 如果指定的备份文件夹不存在,则证书颁发机构备份向导会创建它。
- 键入并确认 CA 私钥备份文件的密码。
- 单击“下一步**”**,然后验证备份设置。 应显示以下设置:
- 私钥和 CA 证书
- 颁发的日志和挂起的请求
- 单击“完成”。
-
保存此 CA 的注册表设置。 为此,请按照下列步骤进行操作:
- 单击“开始”,单击“运行**”,在“打开*”框中键入 regedit*,然后单击“确定”。
- 找到以下注册表子项,然后右键单击:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration - 单击“导出”。
- 将注册表文件保存在步骤 2d 中定义的 CA 备份文件夹中。
注意
默认情况下,Active Directory 证书服务(AD CS)配置了证书吊销列表(CRL)分发点扩展,其中包括路径中的 CA 计算机主机名。 这意味着在迁移之前由 CA 颁发的任何证书都可能包含具有旧主机名的证书验证路径。 迁移后,这些路径可能不再有效。 为了避免吊销检查错误,必须将新 CA 配置为将 CRL 发布到旧的(迁移前)路径和新路径。 如果必须永久删除旧 CA,可以将第二个 计算机名称添加到新的 CA。 在执行此操作之前,旧计算机名称需要在 Active Directory 中可用。 此时,可以将 CRL 分发点添加到新的 CA。
-
检查旧 CA 上的 CRL 分发点。 必须在新的 CA 中配置这些设置。
- 在旧 CA 中打开 cmd.exe 。
- 输入
pkiview。 - 导出配置。
-
从旧服务器中删除证书服务。
注意
此步骤从 Active Directory 中删除对象。 不要按顺序执行此步骤。 如果在安装目标 CA 后执行了源 CA 删除(本部分中的步骤 7),则目标 CA 将变得不可用。
-
重命名旧服务器,或永久断开它与网络的连接。
-
在新服务器上安装证书服务。 要设置部门,请按照以下步骤操作。
注意
新服务器必须与旧服务器具有相同的计算机名称。
- 在控制面板中,双击“添加或删除程序”。
- 单击“ 添加/删除 Windows 组件”,在 Windows 组件向导中单击“ 证书服务 ”,然后单击“ 下一步”。
- 在 “CA 类型 ”对话框中,单击相应的 CA 类型。
- 单击“ 使用自定义设置”生成密钥对和 CA 证书,然后单击“ 下一步”。
- 单击“导入**”,键入 **的路径。备份文件夹中的 P12 文件,键入在步骤 2f 中选择的密码,然后单击“确定”。
- 在 “公钥和私钥对 ”对话框中,验证是否 选中了“使用现有密钥 ”。
- 单击“ 下一 步”两次。
- 接受证书数据库设置默认设置,单击“下一步**”**,然后单击“完成”以完成证书服务安装。
重要
如果新服务器 具有不同的计算机名称,请执行以下步骤:
- 在控制面板中,双击“添加或删除程序”。
- 单击“ 添加/删除 Windows 组件”,在 Windows 组件向导中单击“ 证书服务 ”,然后单击“ 下一步”。
- 在 “CA 类型 ”对话框中,单击相应的 CA 类型。
- 单击“ 使用自定义设置”生成密钥对和 CA 证书,然后单击“ 下一步”。
- 单击“导入**”,键入 **的路径。备份文件夹中的 P12 文件,键入在步骤 2f 中选择的密码,然后单击“确定”。
- 在 “公钥和私钥对 ”对话框中,验证是否 选中了“使用现有密钥 ”。
- 单击“ 下一 步”两次。
- 接受证书数据库设置默认设置,单击“下一步**”**,然后单击“完成”以完成证书服务安装。
- 修改步骤 3 中以前导出的注册表项,如下所示:
- 右键单击导出的密钥。
- 编辑。
- 将 CAServerName 值替换为新的服务器名称。
- 保存并关闭。
-
停止证书服务服务。
-
找到在步骤 3 中保存的注册表文件,然后双击该文件以导入注册表设置。 如果注册表导出中显示的路径与旧 CA 不同,则必须相应地调整注册表导出。 默认情况下,新路径为 Windows Server 2003 中的 C:\Windows 。
-
使用证书颁发机构管理单元还原 CA 数据库。 为此,请按照下列步骤进行操作:
-
在证书颁发机构管理单元中,右键单击 CA 名称,单击 “所有任务”,然后单击“ 还原 CA”。
证书颁发机构还原向导将启动。
-
单击“下一步”,然后单击“私钥”和“CA 证书”。
-
单击“ 证书数据库”和“证书数据库日志”。
-
键入备份文件夹位置,然后单击“ 下一步”。
-
验证备份设置。 应显示颁发的日志和挂起的请求设置。
-
单击“完成**”,然后单击“是”**以在还原 CA 数据库时重启证书服务。
如果 CA 备份文件夹的格式不正确,在还原 CA 过程中可能会收到以下错误:
-
--------------------------- Microsoft 证书服务 ---------------------------
此目录中不存在预期数据。 请选择其他目录。 目录名称无效。 0x8007010b (WIN32/HTTP: 267)
正确的文件夹结构如下所示:
- *C:\Ca\_Backup\CA\_NAME.p12*
- *C:\Ca\_Backup\Database\certbkxp.dat*
- *C:\Ca\_Backup\Database\edb#####.log*
- *C:\Ca\_Backup\Database\CA\_NAME.edb*
其中 *C:\Ca\_Backup* 是步骤 2 中备份 CA 阶段选择的文件夹。
- 在证书颁发机构管理单元中,手动添加或删除证书模板以复制在步骤 1 中记录的证书模板设置。
注意
如果在发布新模板或自定义模板时遇到问题,请执行以下步骤。
- 从迁移 CA 角色的林中的域控制器启动 ADSI 编辑。
- 右键单击 ADSI 编辑 -> 连接到 -> 在 选择已知命名上下文 中选择“ 配置 -> 确定”。
- 导航到 CN=Configuration |CN=Services |CN=公钥服务 |CN=Enrollment Services。
- 右键单击要从中注册的右侧窗格中的 CA,然后单击“ 属性”。 查找标志属性;并验证它是否设置为 10。
- 如果不是,则将其设置为 10 ,然后等待或手动强制 Active Directory 复制。
- 关闭 ADSI 编辑并从 CA 服务器中,确保现在可以发布新模板。
在 Windows 2000 Server 中备份和还原证书颁发机构密钥和数据库
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。
-
请注意在证书颁发机构管理单元的“证书模板”文件夹中配置的证书模板。 证书模板设置存储在 Active Directory 中。 它们不会自动备份。 必须在新的 CA 上手动配置证书模板设置,以维护同一组模板。
注意
证书模板文件夹仅存在于企业 CA 上。 独立 CA 不使用证书模板。 因此,此步骤不适用于独立 CA。
-
使用证书颁发机构管理单元备份 CA 数据库和私钥。 为此,请按照下列步骤进行操作:
- 在证书颁发机构管理单元中,右键单击 CA 名称,单击“所有任务”,然后单击“备份 CA**”**以启动证书颁发机构备份向导。
- 单击“下一步”,然后单击“私钥”和“CA 证书”。
- 单击 “颁发的证书日志”和“挂起的证书请求队列”。
- 使用空文件夹作为备份位置。 确保新服务器可以访问备份文件夹。
- 单击 “下一步” 。 如果指定的备份文件夹不存在,则证书颁发机构备份向导会创建它。
- 键入并确认 CA 私钥备份文件的密码。
- 单击“ 下一步”两次,然后验证备份设置。 应显示以下设置:
- 私钥和 CA 证书
- 颁发的日志和挂起的请求
- 单击“完成”。
-
保存此 CA 的注册表设置。 为此,请按照下列步骤进行操作:
- 依次单击“开始”、“运行”,在“打开”框中键入“regedit”,然后单击“确定”。
- 找到并右键单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration - 单击“配置”,然后单击“注册表”菜单上的“导出注册表文件”。
- 将注册表文件保存在步骤 2d 中定义的 CA 备份文件夹中。
-
检查旧 CA 上的 CRL 分发点。 必须在新的 CA 中配置这些设置。
- 在旧 CA 中打开 cmd.exe 。
- 输入
pkiview。 - 导出配置。
-
从旧服务器中删除证书服务。
注意
此步骤从 Active Directory 中删除对象。 不要按顺序执行此步骤。 如果在安装目标 CA 后执行了源 CA 删除(本部分中的步骤 7),则目标 CA 将变得不可用。
-
重命名旧服务器,或永久断开它与网络的连接。
-
在新服务器上安装证书服务。 要设置部门,请按照以下步骤操作。
注意
新服务器必须与旧服务器具有相同的计算机名称。
- 在控制面板中,双击“添加/删除程序”。
- 单击“ 添加/删除 Windows 组件”,在 Windows 组件向导中单击“ 证书服务 ”,然后单击“ 下一步”。
- 在 “证书颁发机构类型 ”对话框中,单击相应的 CA 类型。
- 单击“ 高级选项”,然后单击“ 下一步”。
- 在 “公钥和私钥对 ”对话框中,单击“ 使用现有密钥”,然后单击“ 导入”。
- 键入 . 的路径。备份文件夹中的 P12 文件,键入在步骤 2f 中选择的密码,然后单击“ 确定”。
- 单击“下一步**”**,键入 CA 说明(如果适用),然后单击“下一步”。
- 接受数据存储位置默认设置,单击“下一步**”**,然后单击“完成”以完成证书服务安装。
-
停止证书服务服务。
-
找到在步骤 3 中保存的注册表文件,然后双击该文件以导入注册表设置。
-
使用证书颁发机构管理单元还原 CA 数据库。 为此,请按照下列步骤进行操作:
-
在证书颁发机构管理单元中,右键单击 CA 名称,单击 “所有任务”,然后单击“ 还原 CA”。
证书颁发机构还原向导将启动。
-
单击“下一步”,然后单击“颁发的证书日志”和“挂起的证书请求队列”。
-
键入备份文件夹位置,然后单击“ 下一步”。
-
验证备份设置。 应显示以下设置:
- 颁发的日志
- 挂起的请求
-
单击“完成**”,然后单击“是”**以在还原 CA 数据库时重启证书服务。
-
-
在证书颁发机构管理单元中,手动添加或删除证书模板以复制在步骤 1 中记录的证书模板设置。
详细信息
有关 Windows Server 2003 和 Windows Server 2008 的升级和迁移方案的详细信息,请参阅“Active Directory 证书服务升级和迁移指南”白皮书。 若要查看白皮书,请参阅 Active Directory 证书服务升级和迁移指南。