0

我需要在一台计算机上使用 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

错误信息将是这样的:

无法获取私钥文件名

有人可以给我一条关于如何使它工作的建议吗?

4

1 回答 1

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 管理单元。

于 2011-09-30T21:42:18.530 回答