Partilhar via


CA2210: Assemblies devem ter nomes de alta seguras válidos

TypeName

AssembliesShouldHaveValidStrongNames

CheckId

CA2210

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Não separável

Causa

Um assembly não está assinado com um nome forte, o nome forte não pôde ser verificado ou o nome forte não seria válido sem as configurações do registro atual do computador.

Descrição da regra

Esta regra recupera e verifica o nome forte de um assembly. Ocorre uma violação se qualquer uma das seguintes condições forem verdadeiras:

  • O assembly não tem um nome forte.

  • O assembly foi alterado depois da assinatura.

  • O assembly é assinado por atraso.

  • O assembly foi assinado incorretamente ou falha ao entrar.

  • O assembly requer configurações do registro para passar pela verificação. Por exemplo, a ferramenta Strong Name (sn. exe) foi usada para ignorar a verificação do assembly.

O nome forte protege clientes de inadvertidamente carregar um assembly que foi violado. Os assemblies sem nomes de alta segurança não devem ser implantados fora cenários muito limitados. Se você compartilhar ou distribuir assemblies não assinados corretamente, o assembly pode ser violado, o common language runtime não pode carregar o assembly ou o usuário pode ter que desativar a verificação no seu computador. Um conjunto sem um nome forte tem-se de que as seguintes desvantagens:

  • Suas origens não podem ser verificadas.

  • O common language runtime não é possível avisar os usuários se o conteúdo do assembly ter sido alterado.

  • Ele não pode ser carregado no cache global de assemblies.

Observe que para carregar e analisar um assembly com assinatura atrasada, você deve desativar a verificação do assembly.

Como corrigir violações

Para criar um arquivo de chave

Use um dos seguintes procedimentos:

Para assinar seu assembly com um nome forte no Visual Studio

  1. Em Visual Studio, abra a solução.

  2. Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique em Propriedades.

  3. Clique o Signing e selecione o Sign the assembly caixa de seleção.

  4. De Choose a strong name key file, selecione nova.

    O Create Strong Name Key janela será exibida.

  5. Em nome do arquivo de chave, digite um nome para a sua chave de nome forte.

  6. Escolha se deseja proteger a chave com uma senha e clique em OK.

  7. Em Solution Explorer, seu projeto com o botão direito e, em seguida, clique em Build.

Para assinar seu assembly com um nome forte fora de Visual Studio

Quando suprimir avisos

Suprimir somente um aviso de que essa regra se o assembly for usado em um ambiente onde violem o conteúdo não é uma preocupação.

Consulte também

Tarefas

Como: Assinar um Assembly com um nome forte

Referência

Sn. exe (ferramenta de nome forte)

System.Reflection.AssemblyKeyFileAttribute

System.Reflection.AssemblyKeyNameAttribute