アセンブリ名
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 14:52 UTC 版)
「アセンブリ (共通言語基盤)」の記事における「アセンブリ名」の解説
アセンブリ名は4つの部分からなる。 短縮名 WindowsにおいてはこれはPEファイル名から拡張子を除いたものに等しい。 カルチャ これはRFC 1766(IETF言語タグ)に規定されたロケールの識別子である。一般に、プロセスアセンブリとライブラリアセンブリはニュートラルカルチャであるべきであり、カルチャはサテライトアセンブリでのみ使用されるべきである。 バージョン これは4つの数値(MajorVersion、MinorVersion、BuildNumber、Revision)をドット (.)で連結したものである。 公開キートークン これはアセンブリに署名された秘密鍵に対応する公開鍵の64ビットハッシュである。公開キートークンが指定されたアセンブリ名を厳密名という。 公開キートークンはアセンブリ名の重複を防ぐために使われる。従って、2つのアセンブリが同じファイル名であった場合でも.NETは両者を区別することができる。しかし、Windowsのファイルシステムはファイル名しか認識できないため、同じ短縮名をもつアセンブリを同じフォルダに置くことはできない。これを解決するために、.NETはGAC (グローバル アセンブリ キャッシュ) という仕組みを用意している。これによって、複数のフォルダに置いたアセンブリをCLRにとっては同じフォルダにあるものとして認識することができる。 アセンブリの偽装攻撃を防ぐために、アセンブリは秘密キーで署名される。アセンブリに署名する際、アセンブリの重要な部分のハッシュをとりそれを秘密キーで暗号化する。このハッシュは公開キーとともにアセンブリ内に格納される。CLRが厳密名で指定されたアセンブリをロードする際、暗号化されたハッシュを公開キーで復号し、それをアセンブリのハッシュと比較する。それらが一致した場合、アセンブリに格納された公開キーは署名に使われた秘密キーに対応するものだということになる。
※この「アセンブリ名」の解説は、「アセンブリ (共通言語基盤)」の解説の一部です。
「アセンブリ名」を含む「アセンブリ (共通言語基盤)」の記事については、「アセンブリ (共通言語基盤)」の概要を参照ください。
- アセンブリ名のページへのリンク