我需要在一台计算机上使用x509证书加密XML文件,并能够在另一台计算机上使用相同的证书对其进行解密。它似乎对微软的建议不起作用:
http://msdn.microsoft.com/en-us/library/ms229744.aspx
另一台计算机上的解密过程总是失败!
我使用以下命令创建证书:
makecert -r -pe -n "CN=DEEP_201X" -b 01/01/2011 -e 01/01/2014 -sky exchange -ss my deep.cer
然后我使用:
安装它certmgr /add deep.cer /s root
尝试使用FindPrivateKey.exe实用程序获取其私钥:
FindPrivateKey My CurrentUser -n "CN=DEEP_201X"
效果很好。但是,当我执行所有相同的操作以在另一台计算机上安装证书时,FindPrivateKey将失败
商店中找不到钥匙“CN = DEEP_201X”的证书。
当我使用
时certmgr /add deep.cer /s my
错误信息将如下:
无法获取私钥文件名
有人可以就如何使其发挥作用给我一些建议吗?
答案 0 :(得分:0)
我怀疑您只需要解密计算机上的私钥。
<强>然而... 强>
如果您确实需要两台计算机上的私钥,请注意.cer文件不包含私钥。
(我认为)makecert在生成证书时将其添加到本地计算机。您可以使用-sv选项将其写出来。然后为包含它的证书构建一个pfx容器。
makecert -r -pe -sv myprivatekey.pvk -n "CN=DEEP_201X" -b 01/01/2011 -e 01/01/2014 -sky exchange -ss my deep.cer
pvk2pfx -pvk myprivatekey.pvk -spc deep.cr -pfx deep_private.pfx
我无法说服certmgr从命令行导入私钥。在gui模式下使用它或使用certmgr.msc管理单元。