なぜDLLに署名する必要があります

このリンク:リンク
@(なぜDLLが署名されている必要があります)

一度プロジェクトで、それはDLLの厳密な名前を作成し、プロジェクトのための厳密な名前を作成し、解決策は奇妙なコンパイルエラーが表示されるようになったプロジェクトをコンパイルする必要があります。私は何度になっています。これらの問題の顔が、私はいくつかの疑問が浮上しています。

基本的な理解

私たちは慎重に基本を以下を読んでみましょう。我々は、次を調査します

  1.   组装
  2.   加密
  3.   散列
  4.   数字签名

アセンブリ:
アセンブリは、コンパイルされたコードベース、セキュリティ、およびバージョン管理を展開するために使用されます。EXEやDLLは、アセンブリの異なる種類があります。これは、名前、文化、バージョン、および公開キートークンで構成されています。
暗号化は読めない情報を変換するプロセスとして、暗号化アルゴリズムを使用して、特定の情報だけが読める形式に読めないというキー情報になります使用します。彼らは2つのタイプがある
a)は、対称暗号化
非対称暗号)がB
対称暗号があるため、直接パスワードの平坦で、私たちは非対称暗号にのみ焦点を当ててみましょう。

非対称暗号と呼ばれる公開鍵と秘密鍵のペアを使用すると、データの暗号化と復号化するための非常に安全なメカニズムを提供します。

    **私钥绝不应传递给另一个实体。与公钥相反,它应该被传递。**

そして、民間主体の証券保有者によってロックされています。別のエンティティに渡すことはありません。公開鍵は反対であり、あなたはそれを要求した人には、公開鍵を提供することができます。

のは、類推、ゲイツとスティーブが互いに通信したい考えてみましょう。彼らは、非対称の道を選びました。自動南京錠付きデジタル伝送のゲートは、ボックスを開きます。デジタル南京錠は自動的にシャットダウンしますが、キーを有効にする必要がありますすることができます。

    **开箱=公钥 数字挂锁键=私钥**

ボックスを開きすることはすべての人の公開鍵を認識すると考えられています。スティーブは自動的に開いて配置され、メッセージ数の南京錠ハウジングを閉じます。ここでは、ボックスを開くための鍵のための秘密鍵です。

ハッシュ:
あなたがするか、フレーム(偶数フレームとコンテンツ)へのデータの後にデータを変更した場合。暗号化の前または変更後のデータを避けるために、我々は、ハッシュと呼ばれるプロセスを使用します。暗号ハッシュ関数は、任意のサイズのデータブロックを取得し、ハッシュ値と呼ばれる固定サイズのバイナリデータを返します。あなたはどのような方法で、元のデータブロックを変更する場合は、計算されたハッシュ値も変更されます。元のデータ・ビットが変更された場合、変更のハッシュ値を計算し、少なくとも50%のビットがあります。データは変更せず、繰り返しハッシュ値を計算する場合は、ハッシュ値が同じになります。コピーデータとそのハッシュ値を計算した場合、それは同じになります。

デジタル署名:
デジタル署名は、メッセージが変更されていないことを証明することができ、そしてその作者の身元を証明することができます。

     **非对称加密和哈希的结合**

非対称暗号化とハッシュの秘密鍵を使用して:これは、このトピックの2つの重要なテーマの組み合わせがカバーされています。ハッシュ値を計算し、その後、ハッシュ値を暗号化するための専用の非対称暗号鍵を用いて、デジタル署名を作成することができます。
ディープダイブが終わった、私たちの真の目的を議論裏面に取得してみましょう。

厳密な名前は何ですか?

厳密な名前は、アセンブリを識別するためのユニークな技術です。これは、名前、バージョン番号、カルチャ、および公開キートークンおよびデジタル署名で構成されています。

重要性の強い名前は何ですか?

厳密な名前は2つの目的を解決します。1. 2.バージョン管理認証。
バージョン管理は、「DLL地獄」として知られている問題を解決することです。同じ名前の中のクリップ(GAC)の同じ数の異なるバージョンとDLLファイル内に存在できるように技術ため一義的、アセンブリを識別する。
認証は、我々は、彼らがプロシージャのソースコードになるようにしたいです。以来、私たちは、認証の問題を解決した、この問題を解決するために、以降のアセンブリに署名しました。

なぜ我々は、厳密な名前が必要なのでしょうか?すべてのDLLは、厳密な名前を作成する必要がありますされていますか?

私達が説明したように、厳密な名前のバージョン管理と認証を解決するためには、厳密な名前の署名は、共有または公共のアセンブリはGAC(グローバルアセンブリキャッシュ)に公開することができます。私たちのアセンブリを使用して誰もが外部のバージョンがこれを修正しない一方で、彼らは、正しいバージョンおよびアセンブリを使用していることを確認することができます。
厳密な名前の署名が唯一の共有や集会に適用される
厳密な名前の署名が共有または公共の会議にのみ適用されます。あなただけの独自の実行可能ファイルを設定するプログラムを使用する場合は、厳密な名前でアセンブリに署名する必要はありません。

リアルタイムの状況に厳密な名前を使用する方法

コンパイラは、それが重点を置いて作成されたプログラムの完全な名前で保存されたアセンブリに署名します
ここに画像を挿入説明

おすすめ

転載: www.cnblogs.com/wangzhe66369/p/11672554.html