且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

执行密钥恢复示例

更新时间:2022-09-22 09:48:27

以下内容摘自笔者编著的《网管员必读——网络安全》(第2版)

 

9.4.7  执行密钥恢复示例

本节介绍使用Certutil.exe命令来对前面创建的Alice用户存档证书进行密钥恢复。这需要由域系统管理员在域控制器上执行以下步骤。
证书模板必须第9.3.4节介绍的方法修改了,“存档位”和“将私钥标记为可导出”属性已启用。只有在“存档的密钥”列中有数据的情况下私钥才可恢复。

1.查看“证书颁发机构”控制台中的“存档密钥”,确保私钥仍可恢复

1)执行【开始】→【管理工具】→【证书颁发机构】菜单操作,打开“证书颁发机构”控制台窗口,如图9-65所示。
执行密钥恢复示例
9-65  在“证书”控制台中显示的新“存档用户”证书
2)在控制台中选择“颁发的证书”选项,执行【查看】→【添加/删除列】菜单操作,打开如图9-66所示对话框。
3)在“添加/删除列”对话框的“可用列”列表中选择“存档的密钥”选项,然后单击【添加】按钮,把“存档的密钥”添加到“显示列”列表中。
4)单击【确定】按钮返回到证书颁发机构中的“颁发的证书”项,然后在详细信息窗格中,向右滚动,并确认上次颁发给Alice的证书的“存档的密钥”列中的值“是”。
5)双击“存档用户”证书,在打开的对话框中选择“详细信息”选项卡,如图9-67所示。记下证书的序列号(不要包括两个数字之间的空格),这是进行恢复所必需的。序列号是长度为20个字符的十六进制位字符串。私钥的序列号与证书的序列号相同。为了避免在下列的操作中输入真正的20位序列号,所以在此示例中序列号被称为serialnumber
执行密钥恢复示例                  执行密钥恢复示例
9-66  “添加/删除列”对话框                                   9-67  查看证书序列号
6)单击【确定】按钮返回到证收颁发机构,然后关闭“证书颁发机构”控制台。

2.使用Certutil.exe将私钥恢复到私钥输出文件

1)进入命令提示符状态,并确保当前路径为c:\
2)在命令提示符下,键入:Certutil -getkey serialnumber outputblob。这里的serialnumber就是上面记下的那20位序列号(不带空格)。
3)在命令提示符下,键入dir outputblob,列出outputblob文件。
以上的outputblob文件也是一个文件示例,也可以是其他任意文件名。如用aliceerp文件,也可执行以上命令,而且结果一样。
如果在执行完dir outputblob命令后,仍见不到文件outputblob,则键入的证书序列号可能不正确。outputblob文件是包含KRA(密钥恢复代理)证书、用户证书和PKCS#7 文件。内部内容是包含私钥(被加密为KRA证书)的加密PKCS#7

3.使用Certutil.exe命令恢复原始公/私钥对

1)同样,进入命令提示符状态,在命令提示符下,键入:
Certutil -recoverkey outputblob alice.pfx #
其中的outputblob文件是对应9.4.6节所用的私钥输出文件,如果输出文件名不一样,则需作相应修改,如前面例举的aliceerpalice.pfx为公/私钥对文件,当然文件名也可以是其他的,但扩展名不能改变。
2)当系统给出要输入密码的提示时,则输入新密码,并确认新密码。
3)键入“exit命令,然后按【Enter】键,关闭所有窗口并注销当前用户。
本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/36960如需转载请自行联系原作者

茶乡浪子