2011-09-27 47 views
0

我需要在一臺計算機上使用x509證書加密XML文件,並且能夠使用另一臺計算機上的相同證書對其進行解密。它似乎並沒有工作對我來說像微軟建議:如何使用另一臺計算機上創建的X.509證書?

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

我懷疑你只需要解密計算機上的私鑰。

但是...

如果你真的需要在兩臺計算機上的私鑰,要知道,.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管理單元。