AssemblySignatureKeyAttribute Classe

Définition

Fournit la migration d’une clé de nom fort plus ancienne et plus simple vers une clé plus grande avec un algorithme de hachage plus fort.

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
Héritage
AssemblySignatureKeyAttribute
Attributs

Remarques

La nouvelle clé plus grande est la clé de signature. Dans les versions antérieures au .NET Framework 4.5, la clé de signature était identique à la clé d’identité. À compter du .NET Framework 4.5, l’attribut AssemblySignatureKeyAttribute permet aux métadonnées d’assembly de continuer à avoir l’ancien jeton de clé publique et l’ancien objet blob (BLOB) afin que les références d’assembly existantes continuent de fonctionner. Il garantit également que le mappage provient d’un propriétaire de la clé d’identité.

La présence de l’attribut ne signifie pas nécessairement que la validation de nom fort a lieu. Dans les scénarios de confiance totale courants, l’attribut n’est jamais pris en compte, car les signatures de nom fort ne sont jamais validées. Toutefois, lorsque la signature de nom fort doit être validée, la signature de nom fort et la contre-signature doivent être validées. La clé d’identité de l’assembly n’a pas besoin d’être identique à la clé de signature (la clé utilisée pour effectuer la signature et la validation réelles). La clé d’identité peut être mappée à une autre clé de signature (plus robuste). Cela vous permet de définir l’identité d’un assembly et de mettre à jour les clés et algorithmes de signature pour des versions plus sécurisées.

La contre-signature résout les problèmes de sécurité lorsqu’un assembly malveillant prétend une autre identité. Par exemple, un assembly de System.Core.dll malveillant peut contenir la clé publique Microsoft dans ses métadonnées et utiliser l'attribut pour indiquer à la validation de nom fort d'utiliser la clé de signature de l'attaquant si aucune contre-signature n'est présente. Par conséquent, il peut se masquer comme un assembly Microsoft validé par un nom fort.

Pour plus d’informations sur la façon de signer des assemblys à utiliser avec ce nouvel attribut, consultez Amélioration du nommage fort.

Constructeurs

Nom Description
AssemblySignatureKeyAttribute(String, String)

Crée une instance de la AssemblySignatureKeyAttribute classe à l’aide de la clé publique et de la contre-signature spécifiées.

Propriétés

Nom Description
Countersignature

Obtient la contre-signature du nom fort de cet assembly.

PublicKey

Obtient la clé publique du nom fort utilisé pour signer l’assembly.

TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)

Méthodes

Nom Description
Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage pour cette instance.

(Hérité de Attribute)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut de la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type d’un objet, qui peuvent être utilisées pour obtenir les informations de type d’une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l’accès aux propriétés et méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à