0

あるコンピューターで x509 証明書を使用して XML ファイルを暗号化し、別のコンピューターで同じ証明書を使用して復号化できるようにする必要があります。Microsoftが示唆しているように、私にはうまくいかないようです:

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 に答える