1

Stack Overflow question Visual Studio Reporting error "PFX - Error Importing Key / Object already exists"など、いくつかの場所で説明されているのと同じ問題が発生しています。

ほとんどの人は Windows Vista と Windows 7 で問題を抱えていますが、私の場合は Windows XP で管理者ユーザーとして実行しています。見つけたすべての解決策を試しましたが、これまでのところうまくいきませんでした。私が見つけた情報のほとんどは数年前のものなので、より良い/最新の情報と、より頻繁に機能する修正がありますか?

私のコード署名証明書はGo Daddyから取得したもので、SignTool.exeユーティリティで正常に動作します。SignTool.exe を使用して Visual Studio の外部でビルドされた多くの EXE ファイルに署名しましたが、それらはすべて正しく検証されます。

SignTool.exe を使用して、この方法で現在のプロジェクトの EXE ファイルに署名しようとしましたが、このプロジェクトに使用しようとしているClickOnceパブリッシングに関連する追加の問題があるようです...ハッシュが一致せず、ClickOnce EXE ファイルが署名されているにもかかわらず、まだ「発行元不明」と報告されています。

4

1 に答える 1

2

私はまだIDEオプションを機能させることができませんが、これは私にとってはうまくいき、それほど悪くはありません:

  1. IDE で「ClickOnce マニフェストに署名する」を有効にし、「ストアから」を選択します (PFX ファイルから選択すると、同じ「オブジェクトが既に存在します」というエラーが発生します)。

  2. 「アセンブリに署名する」をチェックしないでください。

  3. 実行するビルド後のイベントを追加します。

    c:\signtool.exe sign /f c:\cert.pfx /p password /t http://tsa.starfieldtech.com c:\project\obj\debug\myapp.exe
    

つまり、基本的に signtool.exe を使用して署名するのがコツでしたが、マニフェストにも署名する必要があり (これは IDE に任せました)、その他の明らかでない部分は、OBJ フォルダーから EXE ファイルに署名する必要があることでした。 、BIN フォルダーではありません。

IDE では毎回パスワードを入力する必要があると思うので、これは IDE よりも気に入っていると思います。このようにして、パスワードはビルド イベント後のコマンドラインにあります。

于 2012-05-01T15:55:56.693 に答える