Udostępnij za pośrednictwem


AssemblySignatureKeyAttribute Klasa

Definicja

Zapewnia migrację ze starszego, prostszego silnego klucza nazwy do większego klucza z silniejszym algorytmem tworzenia skrótów.

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
Dziedziczenie
AssemblySignatureKeyAttribute
Atrybuty

Uwagi

Nowy większy klucz to klucz podpisu. W wersjach przed .NET Framework 4.5 klucz podpisu był identyczny z kluczem tożsamości. Począwszy od .NET Framework 4.5, AssemblySignatureKeyAttribute atrybut umożliwia metadanym zestawu dalsze posiadanie starego tokenu klucza publicznego i binarnego dużego obiektu (BLOB), aby istniejące odwołania do zestawu nadal działały. Zapewnia również, że mapowanie pochodzi od właściciela klucza tożsamości.

Obecność atrybutu nie musi oznaczać, że trwa walidacja silnej nazwy. W typowych scenariuszach pełnego zaufania atrybut nigdy nie jest brany pod uwagę, ponieważ sygnatury silnej nazwy nigdy nie są weryfikowane. Jeśli jednak należy zweryfikować podpis silnej nazwy, należy zweryfikować zarówno podpis silnej nazwy, jak i kontrapis. Klucz tożsamości zestawu nie musi być identyczny z kluczem podpisu (klucz używany do rzeczywistego podpisywania i walidacji). Klucz tożsamości można mapować na inny (bardziej niezawodny) klucz podpisywania. Dzięki temu można ustawić tożsamość zestawu i zaktualizować klucze podpisywania i algorytmy w celu uzyskania bezpieczniejszych wersji.

Kontrasygnatura rozwiązuje problemy związane z zabezpieczeniami, gdy złośliwy zestaw powołuje się na inną tożsamość. Na przykład złośliwy zestaw System.Core.dll może zawierać klucz publiczny firmy Microsoft w metadanych i użyć atrybutu , aby poinformować o weryfikacji silnej nazwy, aby użyć klucza podpisu osoby atakującej, jeśli nie istnieje żaden kontrapis. W związku z tym może ona podszywać się pod silną weryfikację nazwy zestawu firmy Microsoft.

Aby uzyskać informacje o sposobie podpisywania zestawów do użycia z tym nowym atrybutem, zobacz Rozszerzone silne nazewnictwo.

Konstruktory

AssemblySignatureKeyAttribute(String, String)

Tworzy nowe wystąpienie klasy przy użyciu określonego AssemblySignatureKeyAttribute klucza publicznego i kontrapisu.

Właściwości

Countersignature

Pobiera kontrapis dla silnej nazwy tego zestawu.

PublicKey

Pobiera klucz publiczny dla silnej nazwy użytej do podpisania zestawu.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy