【问题标题】:makecert gives "Fail to acquire a security provider from the issuer's certificate" - why?makecert 给出“无法从颁发者的证书中获取安全提供者” - 为什么?
【发布时间】:2011-02-27 19:07:24
【问题描述】:

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

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 成功了。当然,我再次删除它,然后再次运行命令。

谢谢。

EDIT1

我了解失败的原因。第二个命令期望文件 MyCA.pvk 存在,但我不想保留它。那么,我该怎么办?

【问题讨论】:

  • 我期待那个介绍的魔术!

标签: windows ssl makecert


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-04-20
        • 1970-01-01
        • 1970-01-01
        • 2013-07-28
        • 2017-08-31
        • 2018-07-04
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多