Usando bibliotecas de códigos parcialmente confiável

Aplicativos que recebem menos de confiança total pelo sistema de segurança de acesso de código em tempo de execução não tem permissão para telefonar compartilhado bibliotecas gerenciadas, a menos que a biblioteca gravador specifitelefonary permita através do uso do Classe AllowPartiallyTrustedtelefonarersAttribute.Portanto, os autores de aplicativos devem estar ciente que algumas bibliotecas não estarão disponível para eles em um contexto parcialmente confiável.Por padrão, todo o código que executa a partir da intranet local ou zonas da Internet é parcialmente confiável.Se você não espera que seu código seja executado em um contexto parcialmente confiável ou a 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ê escrever código que deve interagir com código parcialmente confiável ou operar em um contexto parcialmente confiável, você deve considerar os seguintes fatores:

  • Bibliotecas devem ser assinadas com um nome forte deve ser compartilhada por vários aplicativos.Nomes de alta segurança permite a seu código ser colocado em cache global de assemblies e permitir que os consumidores verificar que uma determinada parte do código móvel realmente se originam de você.

  • Por padrão, bibliotecas compartilhadas fortes realiza um implícita LinkDemand para total confiança automaticamente, sem o escritor da biblioteca que seja necessário fazer nada.

  • Se um telefonar er não tem confiança total, mas ainda tenta telefonar biblioteca, o tempo de execução lança um SecurityException e o telefonar er não tem permissão para vincular à biblioteca.

  • Para desabilitar o automáticoLinkDemand e impedir que a exceção de ser lançada, você pode colocar o AllowPartiallyTrustedCallersAttribute atributo sobre o escopo do assembly de uma biblioteca compartilhada.Este atributo permite que as bibliotecas a ser chamado de código gerenciado parcialmente confiável.

  • Código parcialmente confiável, que é concedido acesso a uma biblioteca com esse atributo está ainda sujeito às restrições adicionais definidas pela diretiva de computador local.

  • Não há nenhuma maneira programática para o código parcialmente confiável telefonar uma biblioteca que não tenha o AllowPartiallyTrustedtelefonarersAttribute atributo.Se um aplicativo não recebe confiança total por padrão, um administrador deve escolher modificar a diretiva de segurança e conceder a confiança total do aplicativo antes que ele possa chamar uma biblioteca.

Bibliotecas que são particulares a um aplicativo específico não requerem um nome forte ou o AllowPartiallyTrustedCallersAttribute de atributo e não pode ser referenciado por código potencialmente malicioso fora do aplicativo.Esse código está protegido contra uso inadequado intencional ou não pelo código parcialmente confiável móvel sem o desenvolvedor ou administrador precise fazer nada extra.

Considere a possibilidade de ativar explicitamente o uso pelo código parcialmente confiável para os seguintes tipos de código:

  • Código que foi testado cuidadosamente as vulnerabilidades de segurança e conformidade com as diretrizes descritas no Diretrizes de codificação segura.

  • Bibliotecas de código de nomes de alta segurança que são escritas especificamente para cenários parcialmente confiável.

  • Todos os componentes (seja parcial ou totalmente confiável) assinados com um nome forte que será chamado pelo código móvel baixado da Internet ou intranet local.Esses componentes são afetados porque em diretiva de segurança padrão código móvel recebe confiança parcial.

  • Se a diretiva padrão for modificada, qualquer código que diretiva de segurança concede menor do que a confiança total.

    Observação:

    Algumas classes de envio, na biblioteca de classes do .NET estrutura não possuem o AllowPartiallyTrustedCallersAttribute de atributo e não pode ser chamado pelo código parcialmente confiável.See Assemblies do .NET estrutura marcados com AllowPartiallyTrustedCallersAttribute para obter uma lista de classes que são podem ser chamados por parcialmente confiável código.

Consulte também

Outros recursos

Segurança de Acesso de código