AssemblySignatureKeyAttribute Třída

Definice

Poskytuje migraci ze staršího, jednoduššího klíče silného názvu na větší klíč se silnějším algoritmem hash.

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
Dědičnost
AssemblySignatureKeyAttribute
Atributy

Poznámky

Nový větší klíč je podpisový klíč. Ve verzích před .NET Framework 4.5 byl podpisový klíč stejný jako klíč identity. Počínaje .NET Framework 4.5 umožňuje atribut AssemblySignatureKeyAttribute metadata sestavení nadále používat starý token veřejného klíče a binární velký objekt (BLOB), aby existující odkazy na sestavení nadále fungovaly. Zajišťuje také, že mapování pochází od vlastníka klíče identity.

Přítomnost atributu nemusí nutně znamenat, že probíhá ověření silného názvu. V běžných scénářích plné důvěryhodnosti se atribut nikdy nepovažuje, protože podpisy silných názvů se nikdy neověřují. Pokud je však nutné ověřit podpis silného názvu, musí být ověřen podpis silného názvu i čítače. Klíč identity sestavení nemusí být shodný s podpisovým klíčem (klíč použitý k provedení skutečného podepisování a ověření). Klíč identity je možné mapovat na jiný (robustnější) podpisový klíč. To vám umožní nastavit identitu sestavení a aktualizovat podpisové klíče a algoritmy na bezpečnější verze.

Countersignature řeší obavy zabezpečení, když sestavení se zlými úmysly deklaruje jinou identitu. Například škodlivé System.Core.dll sestavení může v metadatech obsahovat veřejný klíč Microsoft a použít atribut k ověření silného názvu, aby používal podpisový klíč útočníka, pokud neexistuje žádný protisignature. Proto může masquerádovat jako silné jméno ověřeno Microsoft sestavení.

Informace o tom, jak podepsat sestavení pro použití s tímto novým atributem, naleznete v tématu Rozšířené silné pojmenování.

Konstruktory

Name Description
AssemblySignatureKeyAttribute(String, String)

Vytvoří novou instanci AssemblySignatureKeyAttribute třídy pomocí zadaného veřejného klíče a countersignature.

Vlastnosti

Name Description
Countersignature

Získá countersignature pro silný název pro toto sestavení.

PublicKey

Získá veřejný klíč pro silný název použitý k podepsání sestavení.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)

Metody

Name Description
Equals(Object)

Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí kód hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro