AssemblySignatureKeyAttribute クラス

定義

古い、単純な厳密名キーから、より強力なハッシュ アルゴリズムを持つ、より大きなキーへの移行を提供します。

public ref class AssemblySignatureKeyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class AssemblySignatureKeyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
type AssemblySignatureKeyAttribute = class
    inherit Attribute
Public NotInheritable Class AssemblySignatureKeyAttribute
Inherits Attribute
継承
AssemblySignatureKeyAttribute
属性

注釈

新しい大きなキーは署名キーです。 .NET Framework 4.5 より前のバージョンでは、署名キーは ID キーと同じでした。 .NET Framework 4.5 以降では、 属性を使用すると、AssemblySignatureKeyAttributeアセンブリ メタデータに古い公開キー トークンとバイナリ ラージ オブジェクト (BLOB) を引き続き使用して、既存のアセンブリ参照が引き続き機能するようにすることができます。 また、マッピングが ID キーの所有者からのものであることを確認します。

属性が存在するということは、必ずしも厳密な名前の検証が行われるとは限りません。 一般的な完全信頼のシナリオでは、厳密な名前シグネチャは検証されないため、 属性は考慮されません。 ただし、厳密な名前署名を検証する必要がある場合は、厳密な名前署名と反署名の両方を検証する必要があります。 アセンブリの ID キーは、署名キー (実際の署名と検証を行うために使用されるキー) と同じである必要はありません。 ID キーは、別の (より堅牢な) 署名キーにマップできます。 これにより、アセンブリの ID を設定し、署名キーとアルゴリズムをより安全なバージョンに更新できます。

カウンター署名は、悪意のあるアセンブリが他の ID を要求する場合のセキュリティ上の問題に対処します。 たとえば、悪意のあるSystem.Core.dll アセンブリは、メタデータにMicrosoft公開キーを含め、 属性を使用して、反署名がない場合に攻撃者の署名キーを使用するように厳密な名前の検証に指示する可能性があります。 したがって、厳密な名前検証済みのアセンブリとして偽装Microsoft可能性があります。

この新しい属性で使用するアセンブリに署名する方法については、「 強化された厳密な名前付け」を参照してください。

コンストラクター

AssemblySignatureKeyAttribute(String, String)

指定したパブリック キーと副署名を使用して、AssemblySignatureKeyAttribute クラスの新しいインスタンスを作成します。

プロパティ

Countersignature

このアセンブリの厳密な名前の副署名を取得します。

PublicKey

アセンブリに署名するために使用される厳密な名前の公開キーを取得します。

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。

(継承元 Attribute)

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象