方法: SignTool.exe を使用してセットアップ ファイルに署名する (ClickOnce)
SignTool.exe を使用して、セットアップ プログラム (setup.exe) に署名できます。 このプロセスによって、改ざんされたファイルがエンド ユーザーのコンピューターにインストールされないようにすることができます。
既定で、ClickOnce はマニフェストに署名し、セットアップ プログラムに署名しました。 ただし、後でセットアップ プログラムのパラメーターを変更する場合、セットアップ プログラムには後で署名する必要があります。 セットアップ プログラムの署名後にパラメーターを変更すると、署名が破損します。
次の手順では、未署名のマニフェストと未署名のセットアップ プログラムを生成します。 次に、ClickOnce の署名を Visual Studio で有効にし、署名されたマニフェストを生成します。 セットアップ プログラムは未署名のままなので、ユーザーは独自の証明書を使用して実行可能ファイルに署名できます。
未署名のセットアップ プログラムを生成し、後で署名するには
マニフェストに署名する証明書を開発用コンピューターにインストールします。
ソリューション エクスプローラーでプロジェクトを選択します。
[プロジェクト] メニューの [プロジェクト名のプロパティ] をクリックします。
[署名] ページの [ClickOnce マニフェストに署名する] をオフにします。
[発行] ページで、[必須コンポーネント] をクリックします。
すべての必須コンポーネントが選択されていることを確認し、[OK] をクリックします。
[発行] ページで発行設定を確認し、[今すぐ発行] をクリックします。
未署名のアプリケーション マニフェスト、未署名の配置マニフェスト、バージョン固有のファイル、および未署名のセットアップ プログラムが、発行フォルダーに発行されます。
[発行] ページで、[必須コンポーネント] をクリックします。
[必須コンポーネント] ダイアログ ボックスで、[必須コンポーネントをインストールするセットアップ プログラムを作成する] をオフにします。
[発行] ページで発行設定を確認し、[今すぐ発行] をクリックします。
署名済みのアプリケーション マニフェスト、署名済みの配置マニフェスト、およびバージョン固有のファイルが、発行フォルダーに発行されます。 未署名のセットアップ プログラムは発行プロセスで上書きされません。
顧客側でコマンド プロンプトを開きます。
.exe ファイルを含むディレクトリに移動します。
次のコマンドで .exe ファイルに署名します。
signtool sign /sha1 CertificateHash Setup.exe signtool sign /f CertFileName Setup.exe
たとえば、セットアップ プログラムに署名するには、次のコマンドのいずれかを使用します。
signtool sign /sha1 CCB... Setup.exe signtool sign /f CertFileName Setup.exe
参照
処理手順
方法: アプリケーション マニフェストおよび配置マニフェストに再署名する