3

亲爱的女士们先生们。观察这个简单的批处理文件:

makecert -n "CN=MyCA" -sr localmachine -ss root -a sha1 -cy authority -r -sv MyCA.pvk MyCA.cer
del MyCA.pvk
del MyCA.cer
makecert -n "CN=il-mark-lt" -sr localmachine -ss my -cy end -pe -sky exchange -a sha1 -is root -ir localmachine -in MyCA

但是,最后一个 makecert 失败并显示以下错误消息:

Error: Fail to acquire a security provider from the issuer's certificate

我该如何解决?有任何想法吗?顺便说一句,第一个 makecert 成功了。当然,我再次删除它,然后再次运行命令。

谢谢。

编辑1

我明白失败的原因。第二个命令期望文件 MyCA.pvk 存在,但我不想保留它。那么,我能做些什么呢?

4

3 回答 3

2

只是省略-sv MyCA.pvk部分。它仍应生成私钥并将其正常存储,而不是作为pvk文件存储,并且应由makecert ... -in MyCA. 1

于 2011-02-28T07:21:27.707 回答
0

我收到此错误是因为我没有以管理员权限启动命令行。我猜这个错误在这种情况下是用词不当。

于 2018-09-17T15:22:55.450 回答
0

问题是第一个命令,您正在创建一个自签名证书并将其添加到本地计算机帐户的受信任根存储中(但您可能知道这一点)。但是您还要为证书、.pvk 和 .cer 文件的公钥和私钥创建文件。

第二个命令是创建另一个证书,这次不是自签名证书,而是由第一个证书签名。为了签署证书,您需要颁发者的公钥和私钥(CN = MyCA),您正在指示 makecert 在本地机器受信任的根证书存储中查找颁发者公钥,这很好,但是您不需要'不再拥有私钥,因为 MyCA.pvk 已被删除。

如果您没有在第一个命令中指定私钥和公钥的文件名,即不包括 -sv MyCA.pvk 参数和 MyCA.cer,则公钥和私钥都将添加到存储中。这意味着不需要删除文件,因为它们不会被生成。

另外,如果您打开管理控制台,请按 [WIN]+[R] 键入 mmc [Return],转到文件 -> 添加/删除 Snap in -> 选择“证书” -> “添加” -> “计算机帐户”然后将树导航到 Trusted Root Certificates\Certificates,您将在左侧窗格中找到 MyCA。您会注意到图标上有一个小钥匙,如果您双击证书,“常规”选项卡属性底部的消息将显示“您有一个与此证书对应的私钥”。这意味着您可以使用该证书来签署新证书,就像您尝试使用第二个命令一样。

于 2018-10-11T14:13:34.970 回答