4

以前の開発者のコ​​ンピューターにあった証明書で署名された多くのユーザーに展開された ClickOnce アプリケーションがあります。その開発者が退職したため、証明書の有効期限が切れています。別のマシンからアプリケーションを再発行するには、元の証明書を見つけて、拡張機能で更新できる必要があります。以前の開発者のコ​​ンピューターにアクセスできますが、元の .pfx ファイルが見つからず、証明書をコピーして更新できません。また、以前にデプロイされたすべてのファイルにアクセスできます。

アプリケーションをデプロイしようとしたところ、次のエラーが発生しました。

デプロイ ID がサブスクリプションと一致しません。

私の最善の推測では、実際には、MSDN フォーラムの質問と回答に基づいてこのエラーを引き起こしているのは別の証明書であると考えられます。展開 ID が説明と一致しません。ただし、コードの展開元のマシンを変更し、ソリューションを Visual Studio 2010 に更新したことは注目に値します (ただし、プラットフォームと構成は同じです)。

以前の開発者のマシンまたはデプロイ ファイルから元の証明書情報を取得するにはどうすればよいですか? それとも、これを解決しようとして間違った穴に落ちている可能性がありますか?

4

1 に答える 1

3

マシン/ユーザー アカウントに物理的にアクセスできる場合、インポート時にカスタム パスワードで保護されていなければ、証明書を取得するのに問題はありません。エクスポート ウィザードは、図に示すように Internet Explorer の [オプション] から起動できます。いずれかのタブ (通常は[個人] タブ) で目的の証明書を検索します。PFX 形式を使用して、秘密鍵と公開鍵の両方をエクスポートします。

ここに画像の説明を入力

エクスポート ウィザードにアクセスするもう 1 つの方法は、MMC スナップインを使用することです。

[更新]回答を完全にするために、暗号化キーの公開部分のみが含まれているため、署名された展開ファイルから秘密キーを取得することはできません。おそらく、OPの場合、秘密鍵はまだそこにあり、開発マシンのファイルシステムのどこかに(.PVKファイルとして)埋め込まれていますが、そのように保存するのは悪い習慣です。証明書ファイルの種類の詳細については、こちらを参照してください。上記のように、秘密鍵と公開鍵の両方がマシンの証明書ストアにあることを期待しています。

于 2013-09-01T13:26:32.723 に答える