环境:

源服务器:Windows2003,域控制器,证书服务器

目标服务器:Windows2008 R2,域控制器。

备注:将源服务器证书服务器迁移到目标服务器上,要求更改目标服务器名称与源服务器名称不相同。

一、准备源服务器

1、 源服务器安装补丁

源服务器安装windows2003 SP2补丁。

2、备份 CA 模板列表

(1)以域管理员身份登录到bj-ad-sms服务器.

(2)打开“证书颁发机构”管理单元。

(3) 在控制台树中,展开“证书颁发机构”,并单击“证书模板”。

Window 2003证书服务器迁移到Windows 2008 R2_Windows

(4) 通过抓取屏幕截图或将列表键入到文本文件中来记录证书模板的列表。

3、使用 Certutil.exe 记录 CA 模板列表

(1)使用本地管理凭据登录到 bj-ad-sms计算机。

(2)打开命令提示符窗口。

(3)键入 certutil.exe –catemplates > catemplates.txt,并按 Enter。

Window 2003证书服务器迁移到Windows 2008 R2_证书_02

(4)验证 catemplates.txt 文件是否包含模板列表,并将catemplates.txt文件,拷贝到C:\windows\sysvol\sysvol

4、记录 CA 的签名算法和 CSP

(1)使用本地管理凭据登录到 bj-ad-sms。

(2)打开命令提示符窗口。

(3)键入 certutil.exe –getreg ca\csp\* > csp.txt,并按 Enter。

(3) 打开csp文件,截图如下:

Window 2003证书服务器迁移到Windows 2008 R2_Windows_03

(4)记录原始的CA将AIA和CRL数据发布到HTTP URLs以及客户端在验证证书链和CRL数据时可以访问HTTP URL,以便迁移后设置手动发布AIA和CRL数据带原始的web服务器或是添加一条DNS记录将指向原始的HTTP URL执行新的CA服务器的HTTP URL(这里源服务器和目标服务器的勾选项要一致)。例如:记录下图中ldap和http中的勾选项。

Window 2003证书服务器迁移到Windows 2008 R2_Windows_04

二、迁移证书颁发机构

1、备份源证书服务器 CA 数据库和私钥

(1) 以域管理员身份,登录到源服务器。

(2) 打开“证书颁发机构”管理单元。

(3) 右键单击CA名称,指向“所有任务”,然后单击“备份 CA”。

Window 2003证书服务器迁移到Windows 2008 R2_证书_05

(4) 在 CA 备份向导的“欢迎”页上,单击“下一步”。

(5)在“要备份的项目”页上,选中“私钥和 CA 证书”以及“证书数据库和证书数据库日志”复选框,指定备份位置例如D:\CABACKUP,然后单击“下一步”。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_06

(3) 在“选择密码”页上,键入用于保护 CA 私钥的密码,并单击“下一步”。

(7) 在“正在完成备份向导”页上,单击“完成”。

(8)备份完成后,验证所指定的位置中的以下文件:

①包含 CA 证书和私钥的 CA 名称.p12

Window 2003证书服务器迁移到Windows 2008 R2_控制器_07

②包含文件 certbkxp.dat、edb#####.log 和 CA 名称.edb 的 Database 文件夹

Window 2003证书服务器迁移到Windows 2008 R2_证书_08

(9)打开命令提示符窗口,并键入 net stop certsvc 以停止“Active Directory 证书服务”服务。

(10)将所有备份文件复制到可从目标服务器中访问的位置(C:\windows\sysvol\sysvol)。

2、备份源证书服务器 CA 注册表设置

(1)以域管理员登陆源服务器

(2)单击“开始”,指向“运行”,并键入 regedit 以打开注册表编辑器。

(3)在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc 中,右键单击“Configuration”,然后单击“导出”。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_09

(5) 指定C:\windows\sysvol\sysvol位置存储和文件名为careg,然后单击“保存”。

3、备份源证书服务器CAPolicy.inf

(1)打开我的电脑,找到c:\windows,没有找到CAPolicy.inf文件,直接搜索C盘也无CAPolicy.inf文件。注意:已经需要打开文件夹显示隐藏文件属性。

(2)说明用户没有自定义CAPolicy.inf,因此不需要备份这个文件。

4、从源服务器中删除 CA 角色服务

(1)以域管理员身份登录源服务器。

(2)打开控制面板,使用“添加/删除 Windows 组件”,卸载证书服务器。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_10

(3)等卸载完成,后点击完成。

5、将 CA 角色服务添加到目标服务器

(1)以域管理员身份登录目标服务器

(2)打开管理工具---服务器管理器,添加角色

(3)添加AD证书服务,下一步

Window 2003证书服务器迁移到Windows 2008 R2_Windows_11

(4)选择证书颁发机构和证书颁发机构web注册,下一步

Window 2003证书服务器迁移到Windows 2008 R2_控制器_12

(5)选择企业,下一步。

Window 2003证书服务器迁移到Windows 2008 R2_控制器_13

(6)根CA,下一步

Window 2003证书服务器迁移到Windows 2008 R2_服务器_14

(7)在“设置私钥”页上,选择“使用现有私钥”和“选择一个证书并使用其关联私钥”。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_15

(8)在“证书”列表中,单击导入的 CA 证书,然后单击“下一步”。

注意:需要提前将源服务器中的cabackup文件夹和careg.reg,和catemplates.txt文件拷贝到本地C盘根目录。

(9)选择cabackup文件夹.p12文件,并输入备份时的密码,确定。

Window 2003证书服务器迁移到Windows 2008 R2_Windows_16

(10)选择chinalifereca,然后下一步

Window 2003证书服务器迁移到Windows 2008 R2_服务器_17

(11)在“配置证书数据库”页上,下一步。

Window 2003证书服务器迁移到Windows 2008 R2_证书_18

(12)在“确认安装选择”页上查看消息,然后单击“安装”。

Window 2003证书服务器迁移到Windows 2008 R2_控制器_19

(13)安装完成,选择关闭。

Window 2003证书服务器迁移到Windows 2008 R2_Windows_20

6、在目标服务器上还原 CA 数据库

(1)以域管理登陆目标服务器

(2)打开管理工具---证书颁发机构

(3)右键单击包含 CA 名称的节点,指向“所有任务”,然后单击“还原 CA”。如果出现提示,请单击“确定”停止 CA 服务。

(4)在“欢迎”页上,单击“下一步”。

(5)在“要还原的项目”页上,选择“证书数据库和证书数据库日志”。

(6)单击“浏览”,选择C:\cabackup \目录,按下一步。

Window 2003证书服务器迁移到Windows 2008 R2_控制器_21

(6) 输入密码,下一步。

(7)点击完成

(8)单击“是”重新启动 CA 服务。

7、在目标 CA 上导入源 CA 注册表备份

(1)以域管理员身份登录目标服务器

(2)以管理员身份运行“命令提示符”。

(3)键入 net stop certsvc 并按 Enter。

Window 2003证书服务器迁移到Windows 2008 R2_管理员_22

(4)切换到存放careg.reg文件的目录,键入 reg import careg.reg,并按 Enter。

注意:需要提前将源服务器中的careg.reg,文件拷贝到本地C盘根目录。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_23

8、编辑 目标服务器CA 注册表设置(注意:如果源服务器和目标服务器名称相同,可以直接跳到10步骤)

(1)单击“开始”,在“搜索程序和文件”框中键入 regedit.exe,并按 Enter 以打开注册表编辑器。

注意:更改注册表前,先备份注册表。

(2)在控制台树中,找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration 项

Window 2003证书服务器迁移到Windows 2008 R2_管理员_24

(3)在详细信息窗格中,双击“DBSessionCount”。

Window 2003证书服务器迁移到Windows 2008 R2_控制器_25

(4)单击“十六进制”。在“数值数据”中,键入 64,然后单击“确定”。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_26

(5)验证以下设置中指定的位置对于目标服务器是否正确,并根据需要更改它们以指示 CA 数据库和日志文件的位置。

① DBDirectory

Window 2003证书服务器迁移到Windows 2008 R2_服务器_27

②DBLogDirectory

③DBSystemDirectory

④DBTempDirectory

注意:以上键值中目录位置要和安装CA时的路径一致,否则会出错误。

(6)在注册表编辑器的控制台树中,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration,并单击 CA名称。

Window 2003证书服务器迁移到Windows 2008 R2_服务器_28

(7)通过将源服务器名称替换为目标服务器名称,修改以***册表设置的值。

① CACertFileName

Window 2003证书服务器迁移到Windows 2008 R2_服务器_29

②ConfigurationDirectory (注意:这个值,在configuration键值下面,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration)

② CAServerName

(8)通过将 %1 替换为目标服务器的完全限定的域名(例如 “BJ-DC.test.local”),并将 %2 替换为目标服务器的 NetBIOS 名称(这里为“BJ-DC”),修改以***册表设置的值

(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration下面)。

② CACertPublicationURLs

Window 2003证书服务器迁移到Windows 2008 R2_证书_30

②CRLPublicationURLs

9、验证目标 CA 上的证书扩展

(1)打开“证书颁发机构”管理单元。

(2)在控制台树中,单击 CA 的名称。

(3)在“操作”菜单上,单击“属性”,然后单击“扩展”选项卡。请确认“选择扩展”设置为“CRL 分发点(CDP)”。

Window 2003证书服务器迁移到Windows 2008 R2_控制器_31

(4)添加如下一条(如下图:): “ ldap:///CN=<CATruncatedName><CRLNameSuffix>,CN=<ServerShortName>,CN=CDP,CN=Public Key Services,CN=Services,<ConfigurationContainer><CDPObjectClass>”

注意:如果目标CA服务器和源CA服务器名称不同,必须有这条。否则吊销服务器不正常。

Window 2003证书服务器迁移到Windows 2008 R2_Windows_32

(5)点击新添加的“ ldap:///CN=<CATruncatedName><CRLNameSuffix>,CN=<ServerShortName>,CN=CDP,CN=Public Key Services,CN=Services,<ConfigurationContainer><CDPObjectClass>”

更改为下列选项。(注意这里选项要与“一、准备源服务器4”中最后记录CRL和ATA设置一致)

Window 2003证书服务器迁移到Windows 2008 R2_Windows_33

(6)测试时可以将证书CRL发布间隔改为5年,增量改为4年

Window 2003证书服务器迁移到Windows 2008 R2_管理员_34

注意:CRL发布间隔时间长短会对客户端访问证书的性能和证书安全有影响。

10、还原证书模板列表

(1)以域管理员登陆目标服务器。

(2)打开证书颁发机构---证书模板

Window 2003证书服务器迁移到Windows 2008 R2_Windows_35

(3)对比源服务器的备份 CA 模板列表

Window 2003证书服务器迁移到Windows 2008 R2_证书_36

如果缺少某个模板,可以使用一下命令,单独添加

①以管理员身份打开命令提示符窗口。

③ 切换到C盘

④ 例如:添加系统管理员模板(具体模块命令,可以参考(3)中文对照的英文):

键入 “certutil -setcatemplates +” Administrator””,并按 Enter。

11、对 AIA 和 CDP 容器授予权限

(1)以域管理员登陆到目标服务器

(2)单击“开始”,指向“运行”,键入 dssite.msc,打开AD站点和服务,然后单击“确定”。

(3)在控制台树中,单击顶部的节点。

(4)在“视图”菜单上,单击“显示服务节点”。

(5)在控制台树中,展开“服务(Services)”,展开“公钥服务(Public Key Services)”,然后单击“AIA”。

Window 2003证书服务器迁移到Windows 2008 R2_证书_37

(6)在详细信息窗格中,右键单击源 CA名称,然后单击“属性”。

(7)单击“安全性”选项卡,然后单击“添加”。

(8)单击“对象类型”,单击“计算机”,然后单击“确定”。

Window 2003证书服务器迁移到Windows 2008 R2_管理员_38

(9)键入目标服务器的名称,并单击“确定”。

Window 2003证书服务器迁移到Windows 2008 R2_管理员_39

(10)在“允许”列中,单击“完全控制”,并单击“应用”。

Window 2003证书服务器迁移到Windows 2008 R2_Windows_40

(11)如果源服务器名对象显示在“组或用户名”中,请单击源服务器的名称,然后单击“删除”,再单击“确定”。

(12)在控制台树中,展开“CDP”,然后单击源服务器的名称。

(13)在详细信息窗格中,右键单击列表顶部的“cRLDistributionPoint”项,然后单击“属性”。

(14)单击“安全性”选项卡,然后单击“添加”。

(15)单击“对象类型”,单击“计算机”,然后单击“确定”。

(16)键入目标服务器的名称,并单击“确定”。

(17)在“允许”列中,单击“完全控制”,并单击“应用”。

(18)如果源服务器名称对象显示在“组或用户名”中,请单击源服务器的名称,然后单击“删除”,再单击“确定”。

12、启动证书服务

1)以域管理员登陆目标服务器

2)打开管理工具---证书颁发机构,右键选择CA证书名称,所有任务,然后启动服务。

(4) 验证迁移