Compartilhar via


Como: Desativar o recurso de Bypass de nome forte

Começando com o.NET Framework versão 3.5 Service Pack 1 (SP1), assinaturas de nome de alta segurança não são validados quando um assembly é carregado em uma relação de confiança total AppDomain o objeto, como o padrão AppDomain para o MyComputer zona. Isso é conhecido para como o nome forte ignorar o recurso. Em um ambiente de confiança total de pedidos de StrongNameIdentityPermission sempre será bem sucedida para assemblies assinados, confiança total, independentemente de sua assinatura. A única restrição é que o assembly deve ser totalmente confiável, porque sua zona é totalmente confiável. Como o nome forte não é um fator determinante sob essas condições, não há nenhum motivo para que ela ser validado. Ignorando a validação de assinaturas de nome de alta segurança fornece melhorias significativas no desempenho.

O recurso de ignorar se aplica a qualquer conjunto de confiança total, que não é atraso assinado e que é carregado em qualquer confiança total AppDomain do diretório especificado por seu ApplicationBase propriedade.

Você pode substituir o recurso de ignorar todos os aplicativos em um computador, definindo um valor de chave do registro. Você pode substituir a configuração para um único aplicativo usando um arquivo de configuração do aplicativo. Você não pode reinstalar o recurso de Ignorar para um único aplicativo, se ele tiver sido desabilitado pela chave do registro.

Quando você substituir o recurso de ignorar, o nome forte é validado apenas para correção; ele não está marcado para uma StrongNameIdentityPermission. Para confirmar um nome forte específico, você precisará executar essa verificação separadamente.

Observação importanteImportante

A capacidade para forçar a validação de nome de alta segurança depende de uma chave de registro, conforme descrito no procedimento a seguir.Se um aplicativo é executado em uma conta que não tem permissão de ACL (lista) de controle de acesso para acessar a chave do registro, a configuração é ineficaz.Certifique-se de que os direitos ACL são configurados para essa chave para que ele possa ser lido para todos os assemblies.

Para desativar o nome forte ignorar o recurso para todos os aplicativos

  • Em computadores de 32 bits, no registro do sistema, criar uma entrada DWORD com um valor de 0 a chamada AllowStrongNameBypass sob o HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.Chave de NETFramework.

  • Em computadores de 64 bits, no registro do sistema, criar uma entrada DWORD com um valor de 0 a chamada AllowStrongNameBypass sob o HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework e HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.Chaves de NETFramework.

Para desativar o nome forte ignorar o recurso para um único aplicativo

  1. Abra ou crie o arquivo de configuração do aplicativo.

    Para obter mais informações sobre este arquivo, consulte a seção arquivos de configuração do aplicativo Configuration Files.

  2. Adicione a seguinte entrada:

    <configuration>
      <runtime>
         < bypassTrustedAppStrongNames enabled="false" />
      </runtime>
    </configuration>
    

Removendo a configuração do arquivo de configuração ou definindo o atributo como "true", você pode restaurar o recurso de desvio para o aplicativo.

Observação

Você pode ativar a validação de nome forte e desativar um aplicativo somente se o recurso de ignorar está habilitado para o computador.Se o recurso de ignorar foi desativado para o computador, nomes fortes são validados para todos os aplicativos e não é possível ignorar a validação para um único aplicativo.

Consulte também

Referência

Sn. exe (ferramenta de nome forte)

<bypassTrustedAppStrongNames> Elemento

Conceitos

Criando e usando Assemblies de Nome Forte

Histórico de alterações

Date

History

Motivo

Agosto de 2010

Informações atualizadas sobre a entrada do registro.

Comentários do cliente.