AssemblySignatureKeyAttribute Klass

Definition

Ger migrering från en äldre, enklare stark namnnyckel till en större nyckel med en starkare hashalgoritm.

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
Arv
AssemblySignatureKeyAttribute
Attribut

Kommentarer

Den nya större nyckeln är signaturnyckeln. I versioner före .NET Framework 4.5 var signaturnyckeln identisk med identitetsnyckeln. Från och med .NET Framework 4.5 tillåter attributet AssemblySignatureKeyAttribute att sammansättningsmetadata fortsätter att ha den gamla offentliga nyckeltoken och det binära stora objektet (BLOB) så att befintliga sammansättningsreferenser fortsätter att fungera. Det säkerställer också att mappningen kommer från en ägare av identitetsnyckeln.

Förekomsten av attributet innebär inte nödvändigtvis att verifiering av starka namn sker. I vanliga scenarier med fullständigt förtroende beaktas aldrig attributet eftersom starka namnsignaturer aldrig verifieras. Men när den starka namnsignaturen måste verifieras måste både den starka namnsignaturen och motsignaturen verifieras. Sammansättningens identitetsnyckel behöver inte vara identisk med signaturnyckeln (nyckeln som används för att utföra den faktiska signeringen och valideringen). Identitetsnyckeln kan mappas till en annan (mer robust) signeringsnyckel. På så sätt kan du ange identiteten för en sammansättning och uppdatera signeringsnycklarna och algoritmerna till säkrare versioner.

Motsignaturen åtgärdar säkerhetsproblem när en skadlig sammansättning gör anspråk på någon annan identitet. Till exempel kan en skadlig System.Core.dll sammansättning innehålla den Microsoft offentliga nyckeln i dess metadata och använda attributet för att ange stark namnverifiering för att använda angriparens signaturnyckel om det inte finns någon motsignering. Därför kan den maskeras som en stark namnvaliderad Microsoft sammansättning.

Information om hur du signerar sammansättningar för användning med det här nya attributet finns i Förbättrad stark namngivning.

Konstruktorer

Name Description
AssemblySignatureKeyAttribute(String, String)

Skapar en ny instans av AssemblySignatureKeyAttribute klassen med den angivna offentliga nyckeln och motsignering.

Egenskaper

Name Description
Countersignature

Hämtar motsignaturen för det starka namnet för den här sammansättningen.

PublicKey

Hämtar den offentliga nyckeln för det starka namn som används för att signera sammansättningen.

TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för