1

makecert关于命令的两个简单问题,

假设我正在使用以下命令:

makecert -n "CN=PowerShell Local Certificate Root" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer -ss Root -sr localMachine

私钥会自动在证书管理器中的某处注册,还是只会在文件 root.pvk 中?

假设我正在使用以下命令:

makecert -r -pe -n "CN=XYZ Company" -ss my

执行此命令后,私钥存储在哪里(由于我没有指定-pe选项,所以私钥没有嵌入证书中,而是在哪里)?

4

1 回答 1

3

即使没有 -pe(启用私钥导出),私钥仍应存储在您指定的证书存储中。在您的示例中,该存储是 LocalMachine 物理存储和 TrustedRoot 逻辑存储。您可以通过打开 mmc (start->run->mmc) 并添加证书管理单元并选择“计算机帐户”作为存储来进行检查。

一个更简单的测试是:

makecert -sk myKey -n "CN=test" -ss my -pe

然后开始->运行->certmgr.msc(打开本地用户存储的证书管理器)并检查个人证书存储。在那里,您应该有一个名为 test 的证书,并附有私钥。

然后,您可以右键单击证书并将其导出到 .pfx 文件,以获取嵌入了证书和私钥的单个文件。

编辑: -pe 选项代表可导出的私钥。如果使用 -pe,您将可以选择使用私钥从 certmgr 导出密钥。如果您不使用 -pe,那么您将无法选择导出私钥(我在下面的评论应该说“不使用 -pe”而不是“使用 -pe”)。

于 2009-03-18T12:15:45.693 回答