Compartilhar via


<trustinfo>Elemento (aplicativo ClickOnce)

Descreve as permissões de segurança mínima necessárias para o aplicativo seja executado no computador cliente.

<trustInfo>
   <security>
      <applicationRequestMinimum>
         <PermissionSet
            ID
            Unrestricted>
            <IPermission
               class
               version
               Unrestricted
            />
         </PermissionSet>
         <defaultAssemblyRequest
            permissionSetReference
         />
         <assemblyRequest
            name
            permissionSetReference
         />
      </applicationRequestMinimum>
      <requestedPrivileges>
         <requestedExecutionLevel
            level
            uiAccess
         />
      </requestedPrivileges>
   </security>
</trustInfo>

Elementos e atributos

The trustInfo elemento é obrigatório e está no asm.v2namespace. Ele não tiver atributos e contém os seguintes elementos.

segurança

Obrigatório. Este elemento é filho do trustInfo elemento. Ele contém o applicationRequestMinimum elemento e sem atributos.

applicationRequestMinimum

Obrigatório. This element is a child of the security element and contains the PermissionSet, assemblyRequest, and defaultAssemblyRequestelements. Este elemento possui sem atributos.

PermissionSet

Obrigatório. Este elemento é filho do applicationRequestMinimum elemento e contém o IPermission elemento. Este elemento tem os seguintes atributos.

Atributo

Descrição

ID

Obrigatório. Identifica o permissão definido. Esse atributo pode ser qualquer valor. A ID é referenciada no defaultAssemblyRequest e assemblyRequest atributos.

version

Obrigatório. Identifica a versão da permissão. Normalmente este valor é 1.

IPermission

Opcional. Este elemento é filho do PermissionSet elemento. The IPermission elemento totalmente identifica uma classe de permissão na .NET Framework. The IPermission elemento tem os seguintes atributos, mas pode ter atributos adicionais que correspondem às propriedades da classe de permissão. Para obter a sintaxe para uma permissão específica, consulte os exemplos listados no arquivo segurança.config.

Atributo

Descrição

class

Obrigatório. Identifica a classe de permissão por nome forte. Por exemplo, o código a seguir identifica o FileDialogPermission Digite.

System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

version

Obrigatório. Identifica a versão da permissão. Normalmente este valor é 1.

Unrestricted

Obrigatório. Identifica se o aplicativo precisa de uma concessão dessa permissão irrestrita. If True, a concessão de permissão é incondicional. If False, ou se este atributo estiver indefinido, é restringido de acordo com os atributos de permissão específicos definidos no IPermission marca. Tome as seguintes permissões:

<IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="USERNAME" />
<IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />

Neste exemplo, a declaração de EnvironmentPermission Restringe o aplicativo para ler somente a variável de ambiente USERNAME, ao passo que a declaração para FileDialogPermission permite o uso do aplicativo irrestrito de todas as FileDialog classes.

defaultAssemblyRequest

Opcional. Identifica o conjunto de permissões concedido a todos os assemblies. Este elemento é filho do applicationRequestMinimum elemento e tem os seguintes atributos.

Atributo

Descrição

permissionSetReference

Obrigatório. Identifica a ID do conjunto de permissões que é a permissão padrão. O permissão conjunto é declarado no PermissionSet elemento.

assemblyRequest

Opcional. Identifica as permissões para um conjunto específico. Este elemento é filho do applicationRequestMinimum elemento e tem os seguintes atributos.

Atributo

Descrição

name

Obrigatório. Identifica o nome do assembly.

permissionSetReference

Obrigatório. Identifica a ID do conjunto de permissões que requer esse assembly. O permissão conjunto é declarado no PermissionSet elemento.

requestedPrivileges

Opcional. Este elemento é filho do security elemento e contém o requestedExecutionLevel elemento. Este elemento possui sem atributos.

requestedExecutionLevel

Opcional. Identifica o nível de segurança em que o aplicativo solicita a ser executado. Este elemento não tem filhos e tem os seguintes atributos.

Atributo

Descrição

level

Obrigatório. Indica que o nível de segurança do aplicativo está solicitando. Os valores possíveis são:

asInvoker, não solicitando nenhuma permissão adicional. Este nível exige não que pede nenhuma confiança adicional.

highestAvailable, que solicita as permissões mais altos disponível para o processo pai.

requireAdministrator, solicitando permissões totais de administrador.

ClickOnce aplicativos instalará apenas com um valor de asInvoker. Instalando com qualquer Outros valor falhará.

uiAccess

Opcional. Indica se o aplicativo requer acesso aos elementos da interface do usuário protegidos. Os valores são um dos true ou false, e o padrão é false. Somente aplicativos assinados devem ter um valor de true.

Comentários

If a ClickOnce aplicativo pede para irão conceder mais permissões que o computador cliente por padrão, o Gerenciador de confiança Common Language tempo de execução's pedirá ao usuário se deseja conceder ao aplicativo isso elevado nível de confiança. Se ela diz não, o aplicativo não será executado; caso contrário, ele será executado com as permissões solicitadas.

Todas as permissões solicitadas usando defaultAssemblyRequest e assemblyRequest será concedido sem avisar usuário se o manifesto de implantação tiver uma licença válida confiar.

Para obter mais informações sobre a elevação de permissões, consulte ClickOnce Implantação and Segurança. Para obter mais informações sobre a implantação de diretiva, consulte Visão geral sobre implantação de Aplicativo Confiável.

Exemplos

Os exemplos de código de três a seguir ilustram trustInfo elementos de nomeada zonas de segurança padrão — Internet, LocalIntranet e FullTrust — para uso em um ClickOnce manifesto do aplicativo do implantação.

O primeiro exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança da Internet.

<trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet ID="Internet">
          <IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Access="Open" />
          <IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Allowed="DomainIsolationByUser" UserQuota="10240" />
          <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Execution" />
          <IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Window="SafeTopLevelWindows" Clipboard="OwnClipboard" />
          <IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" version="1" Level="SafePrinting" />
        </PermissionSet>
        <defaultAssemblyRequest permissionSetReference="Internet" />
      </applicationRequestMinimum>
    </security>
  </trustInfo>

O segundo exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança LocalIntranet.

<trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet ID="LocalIntranet">
          <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Read="USERNAME" />
          <IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
          <IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Allowed="AssemblyIsolationByUser" UserQuota="9223372036854775807" Expiry="9223372036854775807" Permanent="True" />
          <IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="ReflectionEmit" />
          <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Assertion, Execution" />
          <IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
          <IPermission class="System.Net.DnsPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
          <IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" version="1" Level="DefaultPrinting" />
          <IPermission class="System.Diagnostics.EventLogPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" />
        </PermissionSet>
        <defaultAssemblyRequest permissionSetReference="LocalIntranet" />
      </applicationRequestMinimum>
    </security>
</trustInfo>

O terceiro exemplo ilustra o trustInfo elemento para as permissões padrão disponível na zona de segurança FullTrust.

<trustInfo>
  <security>
    <applicationRequestMinimum>
      <PermissionSet ID="FullTrust" Unrestricted="true" />
      <defaultAssemblyRequest permissionSetReference="FullTrust" />
    </applicationRequestMinimum>
  </security>
</trustInfo>

Consulte também

Conceitos

Visão geral sobre implantação de Aplicativo Confiável

Referência

Manifesto de aplicativo ClickOnce