AssemblySignatureKeyAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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) |