[解決済み] .snkは何のためにあるのですか?
質問事項
.snkは何のためのファイルですか? 私はそれが以下の略であることを知っています。 Strongly Named Key (強く命名されたキー) しかし、それが何であるか、どのように機能するかについてのすべての説明は私の頭を越えています。
強名前キーがどのように使用され、どのように機能するかについて、簡単な説明はありますか?
どのように解決するのですか?
.snkファイルを用いて .NETアセンブリに強い名前 このような強力な名前は、以下のように構成されています。
シンプルなテキスト名、バージョン番号。 とカルチャ情報(もしあれば 公開鍵と デジタル署名
SNKには、一意のキーペア(秘密鍵および公開鍵)が含まれており、これを使用することで、アセンブリに一意の強い名前を付けることができます。アセンブリに強い名前が付けられると、アセンブリの内容から "ハッシュ" が構築され、そのハッシュが秘密鍵で暗号化されます。そして、この署名されたハッシュは .snk の公開鍵とともにアセンブリに配置されます。
後日、誰かがstrong-namedアセンブリの完全性を確認する必要があるとき。 彼ら アセンブリの内容のハッシュを構築し、アセンブリの公開鍵を使ってアセンブリに付属するハッシュを復号化します。2つのハッシュが一致すれば、アセンブリの検証は成功です。
このようにアセンブリを検証できることは、アプリケーション全体を破壊するような悪意のあるアセンブリとすり替える人がいないことを保証するために重要である。このため、非強制名アセンブリは、強 制名アセンブリと同じようには信頼されず、GACに配置することができないのです。また、信頼の連鎖があります。強く名前を付けられたアセンブリを生成して、強く名前を付けられていないアセンブリを参照することはできません。
記事の"です。 ストロングネーミングの秘密 (archived at Wayback Machine) をご覧ください。これらの概念をより詳細に説明する素晴らしい仕事です。写真付き。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] WinSCP 応答待ちタイムアウト
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?
-
[解決済み】ExpandoObjectの本当のメリットは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] ファイル *.mdf をデータベースとして添付できません。
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
-
[解決済み] VB.NETでファイル名を一意のサフィックスに変更するには?
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] .Any() vs .Count() > 0のどちらのメソッドがより良いパフォーマンスを発揮しますか?
-
[解決済み] System.Timers.Timer vs System.Threading.Timer
-
[解決済み] LINQクエリでToList()とToArray()のどちらを呼び出すのが良いですか?
-
[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?