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. Od .NET Framework 4.5 AssemblySignatureKeyAttribute umožňuje atribut metadata sestavení i nadále používat starý token veřejného klíče a binární velký objekt (BLOB), aby existující odkazy na sestavení pokračovaly v práci. 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 se ale podpis silného názvu musí ověřit, musí se ověřit 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é namapovat 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 týkající se zabezpečení, když sestavení se zlými úmysly deklaruje jinou identitu. Například škodlivé sestavení System.Core.dll může obsahovat veřejný klíč Microsoftu v metadatech a pomocí atributu sdělovat ověření silného názvu, aby používal podpisový klíč útočníka, pokud neexistuje žádný čítač. Může tedy být masquerade jako sestavení Microsoftu ověřené silným názvem.

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

Konstruktory

AssemblySignatureKeyAttribute(String, String)

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

Vlastnosti

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

Equals(Object)

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

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

Vrátí hodnotu hash pro tuto instanci.

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

Type Získá aktuální instanci.

(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 odvozené třídy.

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

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

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

Vytvoří použádnou kopii aktuálního souboru 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í

_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 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