亲爱的女士们和先生们。 观察这个简单的批处理文件:
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存在,但我不想保留它。那么,我该怎么办?
答案 0 :(得分:2)
请忽略-sv MyCA.pvk
部分。它仍应生成私钥并正常存储,而不是pvk
文件,应该由makecert ... -in MyCA
找到。 1
答案 1 :(得分:0)
我收到此错误是因为我没有使用Admin特权启动命令行。 我猜在这种情况下,错误是一个误称。
答案 2 :(得分:0)
问题是第一个命令,您正在创建一个自签名证书,并将其添加到“本地计算机”帐户的“受信任的根”存储中(但您可能知道这一点)。但是,您还将为证书的公用密钥和专用密钥创建文件,.pvk和.cer文件。
第二个命令正在创建另一个证书,这次不是自签名的,而是由第一个证书签名的。为了签署证书,您需要发布者的公钥和私钥(CN = MyCA),您正在指示makecert在“本地计算机受信任的根证书”存储中查找发布者的公钥,这很好,但是您不需要由于MyCA.pvk已删除,因此不再具有私钥。
如果您没有在第一个命令上为私钥和公钥指定文件名,即不包括-sv MyCA.pvk参数和MyCA.cer,则公钥和私钥都将添加到存储中。这意味着将不需要删除文件,因为它们不会生成。
此外,如果打开管理控制台,请按[WIN] + [R]键入mmc [Return],然后转到“文件”->“添加/删除管理单元”->选择“证书”->“添加”->“计算机帐户”,然后将树导航到“受信任的根证书\证书”,您将在左窗格中找到MyCA。您会在图标上注意到一个小键,如果双击该证书,则“常规”选项卡属性底部的消息将显示“您具有与此证书相对应的私钥”。这意味着您可以使用该证书来签署新证书,就像您尝试使用第二条命令一样。