方法: 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
参照
処理手順
方法: アプリケーション マニフェストおよび配置マニフェストに再署名する