AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute Class

Definición

Proporciona la migración de una clave de nombre seguro anterior más sencilla a una clave más grande con un algoritmo hash más seguro.Provides migration from an older, simpler strong name key to a larger key with a stronger hashing algorithm.

public ref class AssemblySignatureKeyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class AssemblySignatureKeyAttribute : Attribute
type AssemblySignatureKeyAttribute = class
    inherit Attribute
Public NotInheritable Class AssemblySignatureKeyAttribute
Inherits Attribute
Herencia
AssemblySignatureKeyAttributeAssemblySignatureKeyAttributeAssemblySignatureKeyAttributeAssemblySignatureKeyAttribute
Atributos

Comentarios

La nueva clave mayor es la clave de firma.The new larger key is the signature key. En las versiones anteriores .NET Framework 4.5.NET Framework 4.5a, la clave de firma era idéntica a la clave de identidad.In versions before the .NET Framework 4.5.NET Framework 4.5, the signature key was identical to the identity key. A partir de AssemblySignatureKeyAttribute,el atributo permite que los metadatos del ensamblado sigan teniendo el token de clave pública anterior y el objeto binario grande (BLOB) para que las referencias de ensamblado existentes sigan funcionando. .NET Framework 4.5.NET Framework 4.5Starting with the .NET Framework 4.5.NET Framework 4.5, the AssemblySignatureKeyAttribute attribute allows the assembly metadata to continue to have the old public key token and binary large object (BLOB) so that existing assembly references continue to work. También garantiza que la asignación provenga de un propietario de la clave de identidad.It also ensures that the mapping comes from an owner of the identity key.

La presencia del atributo no implica necesariamente que tenga lugar la validación del nombre seguro.The presence of the attribute does not necessarily mean that strong name validation takes place. En escenarios comunes de plena confianza, el atributo nunca se tiene en cuenta, porque las firmas de nombre seguro nunca se validan.In common full-trust scenarios, the attribute is never considered, because strong name signatures are never validated. Sin embargo, cuando es necesario validar la firma de nombre seguro, se deben validar tanto la firma de nombre seguro como la contrafirma.However, when the strong name signature does have to be validated, both the strong name signature and the countersignature must be validated. La clave de identidad del ensamblado no tiene que ser idéntica a la clave de firma (la clave utilizada para realizar la firma y validación reales).The assembly's identity key does not have to be identical to the signature key (the key used to do the actual signing and validation). La clave de identidad se puede asignar a una clave de firma diferente (más sólida).The identity key can be mapped to a different (more robust) signing key. Esto le permite establecer la identidad de un ensamblado y actualizar las claves de firma y los algoritmos a versiones más seguras.This lets you set the identity of an assembly, and update the signing keys and algorithms to more secure versions.

La contrafirma aborda los problemas de seguridad cuando un ensamblado malintencionado reclama otra identidad.The countersignature addresses security concerns when a malicious assembly claims some other identity. Por ejemplo, un ensamblado System. Core. dll malintencionado podría contener la clave pública de Microsoft en sus metadatos y usar el atributo para indicar a la validación de nombre seguro que use la clave de firma del atacante si no existe ninguna contrafirma.For example, a malicious System.Core.dll assembly could contain the Microsoft public key in its metadata, and use the attribute to tell strong name validation to use the attacker's signature key if no countersignature is present. Por lo tanto, se podría enmascarar como un ensamblado de Microsoft validado con nombre seguro.Thus, it could masquerade as a strong name-validated Microsoft assembly.

Para obtener información sobre cómo firmar ensamblados para su uso con este nuevo atributo, consulte nombres seguros mejorados.For information about how to sign assemblies for use with this new attribute, see Enhanced Strong Naming.

Constructores

AssemblySignatureKeyAttribute(String, String) AssemblySignatureKeyAttribute(String, String) AssemblySignatureKeyAttribute(String, String) AssemblySignatureKeyAttribute(String, String)

Crea una nueva instancia de la clase AssemblySignatureKeyAttribute con la clave pública y la contrafirma especificadas.Creates a new instance of the AssemblySignatureKeyAttribute class by using the specified public key and countersignature.

Propiedades

Countersignature Countersignature Countersignature Countersignature

Obtiene la contrafirma para el nombre seguro del ensamblado.Gets the countersignature for the strong name for this assembly.

PublicKey PublicKey PublicKey PublicKey

Obtiene la clave pública para el nombre seguro usado para firmar el ensamblado.Gets the public key for the strong name used to sign the assembly.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a