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 hashovacím algoritmem.

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 klíč podpisu. Ve verzích před rozhraním .NET Framework 4.5 byl klíč podpisu stejný jako klíč identity. Počínaje rozhraním .NET Framework 4.5 atribut umožňuje, AssemblySignatureKeyAttribute aby metadata sestavení měla i nadále 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 se provádí ověření silného názvu. V běžných scénářích s plným vztahem důvěryhodnosti se atribut nikdy nebral v úvahu, protože podpisy silného názvu se nikdy neověřují. Pokud však podpis silného názvu musí být ověřen, musí se ověřit podpis silného jména i protisignatura. Klíč identity sestavení nemusí být stejný jako klíč podpisu (klíč použitý ke skutečnému podepisování a ověřování). 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.

Tento protipodpis řeší obavy týkající se zabezpečení, když škodlivé sestavení deklaruje jinou identitu. Například škodlivé sestavení System.Core.dll může obsahovat veřejný klíč Microsoftu ve svých metadatech a pomocí atributu sdělovat ověření silného jména, aby se použil podpisový klíč útočníka, pokud není k dispozici žádný kontrasignace. Proto se může maskovat jako sestavení Microsoftu ověřené silnými názvy.

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

AssemblySignatureKeyAttribute(String, String)

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

Vlastnosti

Countersignature

Získá protisignaturu silného názvu 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 tuto Attributetřídu .

(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á z aktuální instance.

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

Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu.

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

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

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