方法 : アプリケーション マニフェストおよび配置マニフェストに署名する
更新 : 2008 年 7 月
ClickOnce 配置を使用してアプリケーションを発行するには、アプリケーション マニフェストと配置マニフェストに、公開キーと秘密キーのペアを使用して厳密な名前を付け、さらに Authenticode テクノロジを使用して署名する必要があります。これらのマニフェストには、Windows 証明書ストアの証明書またはキー ファイルを使用して署名できます。
Visual Studio 2008 SP1 以降では、ClickOnce マニフェストの署名が省略可能になりました。詳細については、このドキュメントの「未署名のマニフェストの生成」を参照してください。
キー ファイル作成の詳細については、「方法 : 公開キーと秘密キーのキー ペアを作成する」を参照してください。
メモ : |
---|
Visual Studio では、拡張子 .pfx を持つ Personal Information Exchange (PFX) キー ファイルだけがサポートされます。ただし、[証明書の選択] ダイアログ ボックスを使用すると、現在のユーザーの Windows 証明書ストアで他の種類の証明書を選択してマニフェストに署名できます。 |
アプリケーション マニフェストと配置マニフェストには、プロジェクト デザイナの [署名] ページのオプションを使用して署名できます。詳細については、「[署名] ページ (プロジェクト デザイナ)」を参照してください。
次の手順は、アプリケーション マニフェストと配置マニフェストの署名のみに適用されます。アセンブリに署名する場合は、「方法 : アセンブリに署名する (Visual Studio)」を参照してください。
[署名] ページにアクセスするには
ソリューション エクスプローラでプロジェクト ノードを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします (または、ソリューション エクスプローラのプロジェクト ノードを右クリックし、[プロパティ] をクリックします)。
プロジェクト デザイナで、[署名] タブをクリックします。
証明書を使用してアプリケーション マニフェストおよび配置マニフェストに署名するには
[署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。
[ストアから選択] をクリックします。
[証明書の選択] ダイアログ ボックスが開き、Windows 証明書ストアの内容が表示されます。
マニフェストの署名に使用する証明書を選択します。
また、[タイムスタンプ サーバーの URL] ボックスでタイムスタンプ サーバーのアドレスを指定することもできます。このサーバーは、マニフェストの署名日時を示すタイムスタンプを提供します。
既存のキー ファイルを使用してアプリケーション マニフェストおよび配置マニフェストに署名するには
[署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。
[ファイルから選択] をクリックします。
[ファイルの選択] ダイアログ ボックスが表示されます。
[ファイルの選択] ダイアログ ボックスで、使用するキー ファイル (.pfx) の場所を参照し、[開く] をクリックします。
メモ : このオプションは、拡張子 .pfx を持つファイルのみをサポートします。これ以外の形式のキー ファイルや証明書がある場合は、Windows 証明書ストアに格納し、前の手順で説明した証明書を選択します。選択した証明書の用途に、コードの署名が含まれている必要があります。
[ファイルを開くためのパスワードを入力してください。] ダイアログ ボックスが表示されます。.pfx ファイルが既に Windows 証明書ストアに格納されている場合やパスワードで保護されていない場合、パスワードの入力は求められません。
キー ファイルにアクセスするためのパスワードを入力し、Enter キーを押します。
テスト証明書を使用してアプリケーション マニフェストおよび配置マニフェストに署名するには
[署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。
テスト用の新しい証明書を作成するには、[テスト証明書の作成] をクリックします。
[テスト証明書の作成] ダイアログ ボックスにパスワードを入力し、テスト証明書を保護します。
未署名のマニフェストの生成
Visual Studio 2008 SP1 以降では、ClickOnce マニフェストの署名が省略可能になりました。次の手順は、未署名の ClickOnce マニフェストを生成する方法を示しています。
メモ : |
---|
既定では、ClickOnce は、生成されるハッシュから 1 つ以上のファイルが除外されるよう指定されていない限り、自動的に署名付きマニフェストを生成します。つまり、すべてのファイルがハッシュに含まれ、[ClickOnce マニフェストに署名する] チェック ボックスがオフの場合、アプリケーションの発行により署名付きマニフェストが生成されます。 |
未署名マニフェストを生成し、生成されるハッシュにすべてのファイルを含めるには
ハッシュにすべてのファイルが含まれる未署名マニフェストを生成するには、まず署名付きマニフェストと共にアプリケーションを発行する必要があります。したがって、前のいずれかの手順に従って ClickOnce マニフェストに署名してから、アプリケーションを発行します。
[署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオフにします。
アプリケーションの 1 つのバージョンのみ使用できるように発行バージョンをリセットします。既定では、アプリケーションを発行するたびに発行バージョンのリビジョン番号が自動的にインクリメントされます。詳細については、「方法 : ClickOnce の発行バージョンを設定する」を参照してください。
アプリケーションを発行します。
未署名マニフェストを生成し、生成されるハッシュから 1 つ以上のファイルを除外するには
[署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオフにします。
[アプリケーション ファイル] ダイアログ ボックスを開き、生成されるハッシュから除外するファイルに対して [ハッシュ] を [除外] に設定します。
メモ : ハッシュからファイルを除外すると、ClickOnce によるマニフェストの自動署名が無効になるため、前の手順のように、最初に署名付きマニフェストで発行する必要がありません。
アプリケーションを発行します。
参照
処理手順
方法 : アセンブリに遅延署名する (Visual Studio)
概念
参照
その他の技術情報
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2008 年 7 月 |
未署名マニフェストの生成についての情報を追加 |
SP1 機能変更 |