方法 : アセンブリに署名する (Visual Studio)

アセンブリ署名 (厳密な名前による署名とも呼ばれます) により、アプリケーションまたはコンポーネントに一意な識別子が割り当てられます。この識別子は、他のソフトウェアでそのアプリケーションまたはコンポーネントを明示的に識別および参照する場合に使用できます。厳密な名前は、単純テキスト名、バージョン番号、カルチャ情報 (設定されている場合)、および公開キーと秘密キーのペアで構成されます。この情報はキー ファイルに保存されます。このファイルは、Personal Information Exchange (PFX) ファイル、またはユーザーの Windows 証明書ストアの証明書になります。詳細については、「マネージ アプリケーションに対する厳密な名前による署名」を参照してください。

[!メモ]

このトピックでは、Visual C# および Visual Basic プロジェクトでのみ使用できます。Visual C++ プロジェクトのアセンブリに署名する方法の詳細については、厳密名アセンブリ (アセンブリ署名) (C++/CLI)を参照してください。

アセンブリ署名のために、Visual Studio では、ローカル コンピューターのプロジェクト システムに格納されている Personal Information Exchange (.pfx) ファイルと厳密名キー (.snk) ファイルのみがサポートされています。

場合によっては、公開キーにしかアクセスできないこともあります。その場合は、遅延署名を使用して秘密キーの割り当てを遅らせることができます。

次のように、プロジェクト デザイナー[署名] ページのオプションを使用して、アセンブリに署名できます。詳細については、「[署名] ページ (プロジェクト デザイナー)」を参照してください。

次の手順は、アセンブリの署名のみに該当します。アプリケーション マニフェストと配置マニフェストに署名する場合は、「方法 : アプリケーション マニフェストおよび配置マニフェストに署名する」を参照してください。

新しいキー ファイルを使用してアセンブリに署名するには

  1. ソリューション エクスプローラーでプロジェクト ノードを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします (または、ソリューション エクスプローラーのプロジェクト ノードを右クリックし、[プロパティ] をクリックします)。

  2. プロジェクト デザイナーで、[署名] タブをクリックします。

  3. [アセンブリの署名] チェック ボックスをオンにします。

  4. 新しいキー ファイルを指定します。[厳密な名前のキー ファイルを選択してください] ボックスの一覧の [<新規作成...>] を選択します。新しいキー ファイルは常に .pfx 形式で作成されることに注意してください。

    [厳密な名前キーの作成] ダイアログ ボックスが表示されます。

  5. [厳密な名前キーの作成] ダイアログ ボックスで、新しいキー ファイルの名前とパスワードを入力し、[OK] をクリックします。

  6. [遅延署名のみ] のチェック ボックスをオンにして遅延署名を有効にできます。遅延署名されたプロジェクトは実行されず、デバッグできません。ただし、開発中に -Vr のオプションの Sn.exe (厳密名ツール) を使用して検証をスキップできます。

既存のキー ファイルを使用してアセンブリに署名するには

  1. ソリューション エクスプローラーでプロジェクト ノードを選択した状態で、[プロジェクト] メニューの [プロパティ] をクリックします (または、ソリューション エクスプローラーのプロジェクト ノードを右クリックし、[プロパティ] をクリックします)。

  2. プロジェクト デザイナーで、[署名] タブをクリックします。

  3. [アセンブリの署名] チェック ボックスをオンにします。

  4. 既存のキー ファイルを指定します。[厳密な名前のキー ファイルを選択してください] ボックスの一覧の [<参照...>] を選択します。

  5. [ファイルの選択] ダイアログ ボックスで、キー ファイルに移動するか、キー ファイルのパスを [ファイル名] ボックスに入力し、[開く] をクリックしてキー ファイルを選択します。詳細については、「方法 : 公開キーと秘密キーのキー ペアを作成する」を参照してください。

    [!メモ]

    [パスワードの変更] をクリックして、キー ファイルのパスワードを変更できます。[キー パスワードの変更] のダイアログ ボックスで、古いパスワードを入力し、新しいパスワードを回入力します。

  6. [遅延署名のみ] のチェック ボックスをオンにして遅延署名を有効にできます。遅延署名されたプロジェクトは実行されず、デバッグできません。ただし、開発中に -Vr のオプションの Sn.exe (厳密名ツール) を使用して検証をスキップできます。

参照

関連項目

[署名] ページ (プロジェクト デザイナー)

概念

マネージ アプリケーションに対する厳密な名前による署名

その他の技術情報

アセンブリおよびマニフェストへの署名の管理