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.
Importante |
---|
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
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.
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. |