AssemblySignatureKeyAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |