【VisualStudio】 アセンブリ署名 / キーファイル について

アセンブリ署名による利点

 [1] 参照DLLが変わっていないことの証明(アセンブリの改竄を検出できる。DLLハイジャックの防止)

 [2] DLLをGAC(グローバルアセンブリキャッシュ)にインストールできる
  ⇒ GACに登録することで、いろいろな.NETプログラムからDLLを使用することができるようになる

 [3] コードアクセスセキュリティで厳密名による設定が可能になる

参考文献

http://csharper.blog57.fc2.com/blog-entry-30.html
http://codezine.jp/article/detail/424

■ GACへのインストール

以下を参照のこと
http://www.ipentec.com/document/document.aspx?page=delphi2005-gac

■ キー ファイルを作成するには

 [1] [スタート]-[プログラム]-[Microsoft Visual Studio 2008]-[Visual Studio ツール]-[Visual Studio 2008 コマンド プロンプト] を選択。
 [2] コマンド プロンプトで「sn -k 【ファイル名】.snk」と入力

sn -k sampleKeyFile.snk

参考文献

http://msdn.microsoft.com/ja-jp/library/aa559684.aspx
http://msdn.microsoft.com/ja-jp/library/6f05ezxy.aspx
http://homepage1.nifty.com/rucio/main/kiso/StrictName.htm
http://www.bnote.net/vb/strong_name_utility.shtml
 * オプションに関しては、以下を参照のこと
http://msdn.microsoft.com/ja-jp/library/k5b5tt23.aspx

■ VS でのキーファイルの指定

C++

 [1] 該当するプロジェクトを右クリックし、[プロパティ]を選択
 [2][構成プロパティ]-[リンカ]-[詳細]で、キーファイル欄に、該当のキーファイルを選択

C# / VB

 [1] プロジェクトを右クリックし、[プロパティ]-[署名]を選択
 [2] [アセンブリの署名]をチェックする
 [3] ファイルを指定するようになるので、[<新規作成...>]を選択
 [4] [厳密な名前キーの作成]ダイアログが開きますので、キーファイル名とパスワードを入力
参考文献
http://www.atmarkit.co.jp/fdotnet/dotnettips/495strongname2005/strongname2005.html