AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute AssemblySignatureKeyAttribute Class

Definizione

Fornisce la migrazione da una precedente chiave con nome sicuro più semplice a una chiave più grande con un algoritmo hash più complesso.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
Ereditarietà
AssemblySignatureKeyAttributeAssemblySignatureKeyAttributeAssemblySignatureKeyAttributeAssemblySignatureKeyAttribute
Attributi

Commenti

La nuova chiave più grande è la chiave di firma.The new larger key is the signature key. Nelle versioni precedenti di .NET Framework 4.5.NET Framework 4.5, la chiave di firma è identica alla chiave di identità.In versions before the .NET Framework 4.5.NET Framework 4.5, the signature key was identical to the identity key. Inizia con la .NET Framework 4.5.NET Framework 4.5, il AssemblySignatureKeyAttribute attributo consente i metadati dell'assembly continuare a usare il vecchio token di chiave pubblica e un oggetto binario di grandi dimensioni (BLOB) in modo che i riferimenti ad assembly esistenti continuano a funzionare.Starting 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. Inoltre, garantisce che il mapping proviene da un proprietario della chiave di identità.It also ensures that the mapping comes from an owner of the identity key.

La presenza dell'attributo non significa necessariamente che non venga eseguita la convalida di nome sicuro.The presence of the attribute does not necessarily mean that strong name validation takes place. Scenari di attendibilità in comune, l'attributo non è mai considerato, perché le firme con nome sicuro non vengono mai convalidate.In common full-trust scenarios, the attribute is never considered, because strong name signatures are never validated. Tuttavia, quando la firma con nome sicuro devono essere convalidati, sia la firma con nome sicuro e la controfirma devono essere convalidati.However, when the strong name signature does have to be validated, both the strong name signature and the countersignature must be validated. Chiave di identità dell'assembly non deve essere identica alla chiave di firma (la chiave usata per eseguire la firma effettiva e la convalida).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 chiave di identità può essere mappata a una chiave di firma (più affidabile) diversa.The identity key can be mapped to a different (more robust) signing key. Ciò consente di impostare l'identità di un assembly e aggiornare le chiavi e algoritmi di firma a versioni più sicure.This lets you set the identity of an assembly, and update the signing keys and algorithms to more secure versions.

I problemi di sicurezza indirizzi controfirma quando un assembly dannoso alcune altre identità delle attestazioni.The countersignature addresses security concerns when a malicious assembly claims some other identity. Un assembly DLL dannoso potrebbe, ad esempio, contengono la chiave pubblica di Microsoft nei relativi metadati e usare l'attributo per indicare a convalida di nome sicuro per usare la chiave di firma dell'utente malintenzionato, se non è presente alcun controfirma.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. In questo modo, è stato possibile mascherarsi da un assembly con Microsoft convalidata nome sicuro.Thus, it could masquerade as a strong name-validated Microsoft assembly.

Per informazioni su come firmare gli assembly da utilizzare con questo nuovo attributo, vedere Enhanced Strong Naming.For information about how to sign assemblies for use with this new attribute, see Enhanced Strong Naming.

Costruttori

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

Crea una nuova istanza della classe AssemblySignatureKeyAttribute utilizzando la chiave pubblica specificata e la controfirma.Creates a new instance of the AssemblySignatureKeyAttribute class by using the specified public key and countersignature.

Proprietà

Countersignature Countersignature Countersignature Countersignature

Ottiene la controfirma per il nome sicuro per questo assembly.Gets the countersignature for the strong name for this assembly.

PublicKey PublicKey PublicKey PublicKey

Ottiene la chiave pubblica per il nome sicuro utilizzato per firmare l'assembly.Gets the public key for the strong name used to sign the assembly.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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 superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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 il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a