厳密な名前のシナリオ

厳密な名前でアセンブリに署名してから、その名前を使用してアセンブリを参照するプロセスの概要を、次のシナリオに示します。

  1. 厳密な名前付きのアセンブリ A を、次の方法の 1 つを使用して作成します。

Visual Studio 2005 など、厳密な名前の作成をサポートする開発環境を使用します。

  1. 開発環境またはツールが、アセンブリ マニフェストを格納するファイルのハッシュに、開発者の秘密キーで署名します。このデジタル署名は、アセンブリ A のマニフェストを格納するポータブル実行可能 (PE) ファイルに格納されます。

  2. アセンブリ B はアセンブリ A のコンシューマです。アセンブリ B のマニフェストの参照セクションには、アセンブリ A の公開キーを表すトークンが含まれます。トークンは完全な公開キーの一部であり、領域を節約するためにキー自体の代わりに使用されます。

  3. 共通言語ランタイムは、アセンブリがグローバル アセンブリ キャッシュに配置されるときに、厳密な名前の署名を検証します。実行時に厳密な名前によってバインドする場合、共通言語ランタイムは、アセンブリ B のマニフェストに格納されたキーと、アセンブリ A の厳密な名前の生成に使用されたキーを比較します。.NET Framework のセキュリティ チェックに合格してバインドが成功した場合、アセンブリ A のビットは変更がなく、アセンブリ A の開発者が提供したビットと同一であることが、アセンブリ B に対して保証されます。

    Noteメモ :

    このシナリオでは、信頼性問題は扱いません。アセンブリは、厳密な名前に加えて、完全な Microsoft® Authenticode® 署名を持つことができます。Authenticode 署名には、信頼を確立する証明書が含まれます。厳密な名前はこの方法でのコード署名を必要としないことに注意してください。厳密な名前の署名の生成に使用するキーは、Authenticode 署名の生成に使用するキーと同じである必要はありません。

参照

関連項目

厳密名ツール (Sn.exe)
アセンブリ リンカ (Al.exe)

その他の技術情報

厳密な名前付きアセンブリの作成と使用