AssemblySignatureKeyAttribute Classe

Definição

Proporciona migração de uma chave de nome forte mais antiga e simples para uma chave maior com um algoritmo de hash mais forte.

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
Herança
AssemblySignatureKeyAttribute
Atributos

Observações

A nova chave maior é a chave de assinatura. Nas versões anteriores ao .NET Framework 4.5, a chave de assinatura era idêntica à chave de identidade. A partir do .NET Framework 4.5, o atributo AssemblySignatureKeyAttribute permite que os metadados assembly continuem a ter o antigo token de chave pública e o objeto binário grande (BLOB), para que as referências de assembly existentes continuem a funcionar. Também garante que o mapeamento vem de um proprietário da chave de identidade.

A presença do atributo não significa necessariamente que ocorra uma validação forte do nome. Em cenários comuns de confiança total, o atributo nunca é considerado, porque assinaturas fortes de nome nunca são validadas. No entanto, quando a assinatura do nome forte tem de ser validada, tanto a assinatura do nome forte como a contraassinatura devem ser validadas. A chave de identidade da assembly não tem de ser idêntica à chave de assinatura (a chave usada para a assinatura e validação propriamente ditas). A chave de identidade pode ser mapeada para uma chave de assinatura diferente (mais robusta). Isto permite definir a identidade de um assembly e atualizar as chaves de assinatura e algoritmos para versões mais seguras.

A contraassinatura aborda preocupações de segurança quando uma assembleia maliciosa reivindica outra identidade. Por exemplo, uma assembly System.Core.dll maliciosa poderia conter a chave pública Microsoft nos seus metadados e usar o atributo para dizer à validação forte do nome para usar a chave de assinatura do atacante caso não exista contraassinatura. Assim, poderia disfarçar-se de assembly Microsoft forte e validada pelo nome.

Para informações sobre como assinar assembleias para uso com este novo atributo, consulte Nomes Fortes Aprimorados.

Construtores

Name Description
AssemblySignatureKeyAttribute(String, String)

Cria uma nova instância da AssemblySignatureKeyAttribute classe usando a chave pública e contraassinatura especificadas.

Propriedades

Name Description
Countersignature

Recebe a contraassinatura do nome forte desta assembleia.

PublicKey

Obtém a chave pública do nome forte usado para assinar a assembleia.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a