方法 : アプリケーション マニフェストおよび配置マニフェストに署名するHow to: Sign Application and Deployment Manifests

ClickOnce 配置を使用してアプリケーションを発行しようとする場合は、アプリケーション マニフェストと配置マニフェストに、公開キーと秘密キーのペアを使用して署名し、さらに Authenticode テクノロジを使用して署名する必要があります。If you want to publish an application by using ClickOnce deployment, the application and deployment manifests must be signed with a public/private key pair and signed using Authenticode technology. これらのマニフェストには、Windows 証明書ストアの証明書またはキー ファイルを使用して署名できます。You can sign the manifests by using a certificate from the Windows certificate store or a key file.

ClickOnce 配置について詳しく、「ClickOnce のセキュリティと配置」をご覧ください。For more information about ClickOnce deployment, see ClickOnce Security and Deployment.

.exe ベースのアプリケーションでは、ClickOnce マニフェストの署名を省略できます。Signing the ClickOnce manifests is optional for .exe-based applications. 詳細については、このドキュメントの「未署名のマニフェストの生成」を参照してください。For more information, see the "Generating Unsigned Manifests" section of this document.

キー ファイルの作成については、「方法 : 公開キーと秘密キーのキー ペアを作成する」をご覧ください。For information about creating key files, see How to: Create a Public-Private Key Pair.

注意

Visual StudioVisual Studio では、拡張子 .pfx を持つ Personal Information Exchange (PFX) キー ファイルだけがサポートされます。 supports only Personal Information Exchange (PFX) key files that have the .pfx extension. ただし、プロジェクトのプロパティの [署名] ページにある [ストアから選択] をクリックすると、現在のユーザーの Windows 証明書ストアから、他の種類の証明書を選ぶことができます。However, you can select other types of certificates from the current user's Windows certificate store by clicking Select from Store on the Signing page of project properties.

証明書を使用してアプリケーション マニフェストおよび配置マニフェストに署名するにはTo sign application and deployment manifests using a certificate

  1. プロジェクトのプロパティ ウィンドウへ移動します (ソリューション エクスプローラー でプロジェクト ノードを右クリックして [プロパティ] をクリックするか、[クイック起動] ウィンドウに「プロジェクトのプロパティ」と入力するか、ソリューション エクスプローラー ウィンドウ内で Alt + Enter キーを押す)。Go to the project properties window (right-click the project node in the Solution Explorer and select Properties, or type project properties in the Quick Launch window, or press ALT+ ENTER inside the Solution Explorer window). [署名] タブの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。On the Signing tab, select the Sign the ClickOnce manifests check box.

  2. [ストアから選択] をクリックします。Click the Select from Store button.

    [証明書の選択] ダイアログ ボックスが表示され、Windows 証明書ストアの内容が表示されます。The Select a Certificate dialog box appears and displays the contents of the Windows certificate store.

    ヒント

    [証明書のプロパティを表示します] をクリックすると、[証明書の詳細] ダイアログ ボックスが表示されます。If you click Click here to view certificate properties, the Certificate Details dialog box appears. このダイアログ ボックスには、証明書の詳細情報、および追加オプションが含まれています。This dialog box includes detailed information about the certificate, and includes additional options. 追加のヘルプ情報を表示するには [証明書] をクリックします。You can click certificates to view additional Help information.

  3. マニフェストの署名に使用する証明書を選択します。Select the certificate that you want to use to sign the manifests.

  4. また、[タイムスタンプ サーバーの URL] ボックスでタイムスタンプ サーバーのアドレスを指定することもできます。Additionally, you can specify the address of a timestamp server in the Timestamp server URL text box. このサーバーは、マニフェストの署名日時を示すタイムスタンプを提供します。This is a server that provides a timestamp specifying when the manifest was signed.

既存のキー ファイルを使用してアプリケーション マニフェストおよび配置マニフェストに署名するにはTo sign application and deployment manifests using an existing key file

  1. [署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。On the Signing page, select the Sign the ClickOnce manifests check box.

  2. [ファイルから選択] をクリックします。Click the Select from File button.

    [ファイルの選択] ダイアログ ボックスが表示されます。The Select File dialog box appears.

  3. [ファイルの選択] ダイアログ ボックスで、使うキー ファイル (.pfx) の場所を参照し、[開く] をクリックします。In the Select File dialog box, browse to the location of the key file (.pfx) that you want to use, and then click Open.

    注意

    このオプションは、拡張子 .pfx を持つファイルのみをサポートします。This option supports only files that have the .pfx extension. これ以外の形式のキー ファイルや証明書がある場合は、Windows 証明書ストアに格納し、前の手順で説明した証明書を選択します。If you have a key file or certificate in another format, store it in the Windows certificate store and select the certificate is described in the previous procedure. 選択した証明書の用途に、コードの署名が含まれている必要があります。The selected certificate's purpose should include code signing.

    [ファイルを開くためのパスワードの入力] ダイアログ ボックスが表示されます。The Enter password to open file dialog box appears. .pfx ファイルが既に Windows 証明書ストアに格納されている場合やパスワードで保護されていない場合、パスワードの入力は求められません。(If the .pfx file is already stored in your Windows certificate store, or is not password protected, you will not be prompted to enter a password.)

  4. キー ファイルにアクセスするためのパスワードを入力し、Enter キーを押します。Enter the password to access the key file, and press ENTER.

テスト証明書を使用してアプリケーション マニフェストおよび配置マニフェストに署名するにはTo sign application and deployment manifests using a test certificate

  1. [署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオンにします。On the Signing page, select the Sign the ClickOnce manifests check box.

  2. テスト用の新しい証明書を作成するには、[テスト証明書の作成] をクリックします。To create a new certificate for testing, click the Create Test Certificate button.

  3. [テスト証明書の作成] ダイアログ ボックスで、テスト証明書をセキュアにするためにパスワードを入力します。In the Create Test Certificate dialog box, enter a password to help secure your test certificate.

未署名のマニフェストの生成Generating Unsigned Manifests

.exe ベースのアプリケーションでは、ClickOnce マニフェストの署名を省略できます。Signing the ClickOnce manifests is optional for .exe-based applications. 次の手順は、未署名の ClickOnce マニフェストを生成する方法を示しています。The following procedures show how to generate unsigned ClickOnce manifests.

重要

未署名のマニフェストにより、アプリケーションの開発およびテストを簡略化できます。Unsigned manifests can simplify development and testing of your application. しかし、未署名のマニフェストは、稼動環境に重大なセキュリティ上の問題を発生させます。However, unsigned manifests introduce substantial security risks in a production environment. インターネットまたは他の悪意のあるコードの提供元から完全に分離されたイントラネット内のコンピューターで ClickOnce アプリケーションを実行する場合のみ、未署名のマニフェストの使用を検討してください。Only consider using unsigned manifests if your ClickOnce application runs on computers within an intranet that is completely isolated from the internet or other sources of malicious code.

既定では、ClickOnce は、生成されるハッシュから 1 つ以上のファイルが除外されるよう指定されていない限り、自動的に署名付きマニフェストを生成します。By default, ClickOnce automatically generates signed manifests unless one or more files are specifically excluded from the generated hash. つまり、すべてのファイルがハッシュに含まれ、[ClickOnce マニフェストに署名する] チェック ボックスがオフの場合でも、アプリケーションの発行により署名付きマニフェストが生成されます。In other words, publishing the application results in signed manifests if all files are included in the hash, even when the Sign the ClickOnce manifests check box is cleared.

未署名マニフェストを生成し、生成されるハッシュにすべてのファイルを含めるにはTo generate unsigned manifests and include all files in the generated hash

  1. ハッシュにすべてのファイルが含まれる未署名マニフェストを生成するには、まず署名付きマニフェストと共にアプリケーションを発行する必要があります。To generate unsigned manifests that include all files in the hash, you must first publish the application together with signed manifests. したがって、前のいずれかの手順に従って ClickOnce マニフェストに署名してから、アプリケーションを発行します。Therefore, first sign the ClickOnce manifests by following one of the previous procedures, and then publish the application.

  2. [署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオフにします。On the Signing page, clear the Sign the ClickOnce manifests check box.

  3. アプリケーションの 1 つのバージョンのみ使用できるように発行バージョンをリセットします。Reset the publish version so that only one version of your application is available. 既定では、アプリケーションを発行するたびに発行バージョンのリビジョン番号が自動的にインクリメントされます。By default, Visual Studio automatically increments the revision number of the publish version every time that you publish an application. 詳しくは、「方法: ClickOnce の発行バージョンを設定する」をご覧ください。For more information, see How to: Set the ClickOnce Publish Version.

  4. アプリケーションを発行します。Publish the application.

未署名マニフェストを生成し、生成されるハッシュから 1 つ以上のファイルを除外するにはTo generate unsigned manifests and exclude one or more files from the generated hash

  1. [署名] ページの [ClickOnce マニフェストに署名する] チェック ボックスをオフにします。On the Signing page, clear the Sign the ClickOnce manifests check box.

  2. [アプリケーション ファイル] ダイアログ ボックスを開き、生成されるハッシュから除外するファイルに対して [ハッシュ][除外] に設定します。Open the Application Files dialog box and set the Hash to Exclude for the files that you want to exclude from the generated hash.

    注意

    ハッシュからファイルを除外すると、ClickOnce によるマニフェストの自動署名が無効になるため、前の手順のように、最初に署名付きマニフェストで発行する必要がありません。Excluding a file from the hash configures ClickOnce to disable automatic signing of the manifests, so you do not need to first publish with signed manifests as shown in the previous procedure.

  3. アプリケーションを発行します。Publish the application.

関連項目See Also

厳密な名前付きアセンブリ Strong-Named Assemblies
方法 : 公開キーと秘密キーのキー ペアを作成する How to: Create a Public-Private Key Pair
[署名] ページ (プロジェクト デザイナー) Signing Page, Project Designer
ClickOnce のセキュリティと配置ClickOnce Security and Deployment