AssemblySignatureKeyAttribute Classe

Definizione

Fornisce la migrazione da una precedente chiave con nome sicuro più semplice a una chiave più grande con un algoritmo hash più complesso.

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
Ereditarietà
AssemblySignatureKeyAttribute
Attributi

Commenti

La nuova chiave più grande è la chiave di firma. Nelle versioni precedenti alla .NET Framework 4.5, la chiave di firma è identica alla chiave identity. A partire dal .NET Framework 4.5, l'attributo AssemblySignatureKeyAttribute consente ai metadati dell'assembly di continuare ad avere il token di chiave pubblica precedente e l'oggetto BLOB di grandi dimensioni binario in modo che i riferimenti all'assembly esistenti continuino a funzionare. Garantisce inoltre che il mapping proviene da un proprietario della chiave di identità.

La presenza dell'attributo non significa necessariamente che venga eseguita la convalida del nome sicuro. Negli scenari di attendibilità completi comuni, l'attributo non viene mai considerato, perché le firme di nome sicuro non vengono mai convalidate. Tuttavia, quando la firma del nome sicuro deve essere convalidata, è necessario convalidare sia la firma del nome sicuro che la controfirma. La chiave di identità dell'assembly non deve essere identica alla chiave di firma (la chiave usata per eseguire la firma e la convalida effettive). La chiave di identità può essere mappata a una chiave di firma diversa (più affidabile). In questo modo è possibile impostare l'identità di un assembly e aggiornare le chiavi di firma e gli algoritmi a versioni più sicure.

La controfirma risolve i problemi di sicurezza quando un assembly dannoso richiede un'altra identità. Ad esempio, un assembly di System.Core.dll dannoso potrebbe contenere la chiave pubblica Microsoft nei relativi metadati e usare l'attributo per indicare la convalida del nome sicuro per usare la chiave di firma dell'utente malintenzionato se non è presente alcuna controfirma. Pertanto, potrebbe essere mascherato come assembly Microsoft con nome sicuro convalidato.

Per informazioni su come firmare gli assembly da usare con questo nuovo attributo, vedere Denominazione avanzata avanzata.

Costruttori

AssemblySignatureKeyAttribute(String, String)

Crea una nuova istanza della classe AssemblySignatureKeyAttribute utilizzando la chiave pubblica specificata e la controfirma.

Proprietà

Countersignature

Ottiene la controfirma per il nome sicuro per questo assembly.

PublicKey

Ottiene la chiave pubblica per il nome sicuro utilizzato per firmare l'assembly.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_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.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a