Partager via


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 à .NET Framework 4.5, la clé de signature était identique à la clé d’identité. À compter de .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’ancien objet BLOB (Binary Large Object) 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 forte 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 ne doit pas être identique à la clé de signature (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 de signature et les algorithmes vers des versions plus sécurisées.

La contre-signature répond aux problèmes de sécurité lorsqu’un assembly malveillant revendique 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. Ainsi, il pourrait se faire passer pour un assembly Microsoft fort validé par un nom.

Pour plus d’informations sur la façon de signer des assemblys à utiliser avec ce nouvel attribut, consultez Nommage fort amélioré.

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 à