Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Usando bibliotecas de código parcialmente confiável

Observação Observação

Este tópico aborda o comportamento de assemblies de nomes fortes e se as aplica somente aos assemblies de Nível 1 . Assemblies deCódigo transparente de segurança, nível 2 no .NET Framework 4 ou posterior não são afetados por nomes de alta segurança. Para obter mais informações sobre as alterações do sistema de segurança, consulte Alterações na segurança do .NET Framework.

Os aplicativos que recebem menos do que a confiança total do host ou da área restrita não são permitidos chamar bibliotecas compartilhadas gerenciadas a menos que o gravador de bibliotecas permitir especificamente com o uso do atributo AllowPartiallyTrustedCallersAttribute. Portanto, criadores de aplicativo devem estar cientes de que algumas bibliotecas não estarão disponíveis a eles a partir de um contexto parcialmente confiável. Por padrão, qualquer código executado em uma área restrita de confiança parcial e não estiver na lista de assemblies de confiança total é parcialmente confiável. Se você não espera que seu código seja executado a partir de um contexto parcialmente confiável ou ser chamado pelo código parcialmente confiável, você não precisa se preocupar com as informações contidas nesta seção. No entanto, se você escreve o código que deve interagir com o código parcialmente confiável ou operar de um contexto parcialmente confiável, você deve considerar os seguintes fatores:

  • As bibliotecas devem ser assinadas com um nome forte para ser compartilhada por vários aplicativos. Nomes fortes permitem que seu código seja colocado no cache de assembly global ou adicionado à lista de confiança total de uma área restritaAppDomain e permitem que os usuários verifiquem que uma determinada parte do código móvel realmente seja originado de você.

  • Por padrão, as bibliotecas compartilhadas de Nível 1 de nome forte executam um LinkDemand implícito para confiança total automaticamente, sem o gravador da biblioteca precisar fazer nada.

  • Se um chamador não tem confiança total, mas ainda tenta chamar uma biblioteca, o tempo de execução gera um SecurityException e não é permitido ao chamador vincular à biblioteca.

  • A fim de desativar o LinkDemand automático e impedir que a exceção seja lançada, você pode colocar o atributo AllowPartiallyTrustedCallersAttribute no escopo da montagem de uma biblioteca compartilhada. Esse atributo permite que as bibliotecas sejam chamadas a partir de um código gerenciado parcialmente confiável.

  • O código parcialmente confiável que recebe permissão de acesso a uma biblioteca com esse atributo ainda está sujeito a restrições adicionais definidas pelo AppDomain.

  • Não há nenhuma maneira programática para que o código parcialmente confiável chame uma biblioteca que não possua o atributo AllowPartiallyTrustedCallersAttribute .

Bibliotecas que são privadas para um determinado aplicativo não requerem um nome forte ou o atributo AllowPartiallyTrustedCallersAttribute e não podem ser referenciadas pelo código potencialmente mal-intencionado fora do aplicativo. Esse código é protegido contra o uso indevido intencional ou não intencional pelo código móvel parcialmente confiável sem o desenvolvedor precisar fazer nada adicional.

Você deve considerar ativar explicitamente o uso por meio do código parcialmente confiável para os seguintes tipos de código:

  • O código foi testado totalmente pelas vulnerabilidades de segurança e está de acordo com as diretrizes descritas em Diretrizes para codificação segura.

  • Bibliotecas de códigos de nome forte são escritas especificamente para cenários parcialmente confiáveis.

  • Alguns componentes (se totalmente ou parcialmente confiável) assinados com um nome forte que é chamado pelo código baixado da Internet.

Observação Observação

Algumas classes na biblioteca de classes do .NET Framework não têm o atributo AllowPartiallyTrustedCallersAttribute e não podem ser chamadas pelo código parcialmente confiável. Consulte assemblies do.NET Framework marcados com AllowPartiallyTrustedCallersAttribute para obter uma lista de classes que podem ser chamadas pelo código parcialmente confiável.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft