AssemblySignatureKeyAttribute Classe

Définition

Assure la migration d'une clé de nom fort plus ancienne et plus simple vers une plus grande clé 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 a été identique à la clé d’identité. À compter de la .NET Framework 4.5, l’attribut AssemblySignatureKeyAttribute permet aux métadonnées de l’assembly de continuer à avoir l’ancien jeton de clé publique et l’objet de grande taille binaire (BLOB) afin que les références d’assembly existantes continuent de fonctionner. Elle 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 complète courants, l’attribut n’est jamais considéré, car les signatures de noms fortes 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 ne doit pas ê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 clé de signature différente (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épond aux problèmes de sécurité lorsqu’un assembly malveillant affirme 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 une validation de nom fort pour utiliser la clé de signature de l’attaquant si aucune contre-signature n’est présente. Ainsi, 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

AssemblySignatureKeyAttribute(String, String)

Crée une instance de la classe AssemblySignatureKeyAttribute en utilisant la clé publique et la contre-signature spécifiées.

Propriétés

Countersignature

Obtient la contre-signature pour le nom fort de cet assembly.

PublicKey

Obtient la clé publique pour le nom fort utilisé pour signer l'assembly.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

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 de cette instance.

(Hérité de Attribute)
GetType()

Obtient le 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 pour la classe dérivée.

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

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

_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 pour 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 aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à