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