Compartilhar via


<trustInfo> Elemento (aplicativo de 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

O trustInfo elemento é obrigatório e está sendo o asm.v2 espaço para nome.Ele não tiver atributos e contém os seguintes elementos.

segurança

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

applicationRequestMinimum

Obrigatório.Este elemento é filho do security elemento e contém o PermissionSet, assemblyRequest, e defaultAssemblyRequestelementos.Este elemento possui sem atributos.

PermissionSet

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

Atributo

Descrição

ID

Obrigatório.Identifica o conjunto de permissões.Esse atributo pode ser qualquer valor.A identificação é referenciada na defaultAssemblyRequest e assemblyRequest atributos.

version

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

IPermission

Opcional.Este elemento é filho de PermissionSet elemento.O IPermission elemento totalmente identifica uma classe de permissão na .NET Framework.O IPermission elemento tem os seguintes atributos, porém pode ter atributos adicionais que correspondem às propriedades da classe de permissão.Para descobrir a sintaxe de uma permissão específica, consulte os exemplos listados no arquivo Security. config.

Atributo

Descrição

class

Obrigatório.Identifica a classe de permissão pelo nome de alta segurança.Por exemplo, o código a seguir identifica as FileDialogPermission tipo.

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, esse valor é 1.

Unrestricted

Obrigatório.Identifica se o aplicativo precisa de uma concessão irrestrito dessa permissão.Se true, a concessão de permissão é incondicional.Se false, ou se esse atributo não está definido, é restringido de acordo com os atributos específicos de permissão definidos na 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 para EnvironmentPermission restringe o aplicativo para ler somente a variável de ambiente USERNAME, ao passo que a declaração para FileDialogPermission oferece 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 de applicationRequestMinimum elemento e tem os seguintes atributos.

Atributo

Descrição

permissionSetReference

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

assemblyRequest   

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

Atributo

Descrição

Name

Obrigatório.Identifica o nome do assembly.

permissionSetReference

Obrigatório.Identifica a identificação do conjunto de permissão que requer que este assembly.O conjunto de permissões é declarado na 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 no qual 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 a nenhuma permissão adicional.Este nível não requer confiança solicitações adicionais.

highestAvailable, solicitando as permissões mais altos disponíveis para o processo pai.

requireAdministrator, solicitando permissões de administrador completo.

ClickOnceaplicativos instalará apenas com um valor de asInvoker.Instalando com qualquer outro valor falhará.

uiAccess

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

Comentários

Se um ClickOnce aplicativo solicita mais permissões do que o computador cliente concederá por padrão, o common language Gerenciador do runtime de confiança solicitará ao usuário se ele deseja conceder ao aplicativo nesse alto nível de confiança.Se ela diz não, o aplicativo não será executada; Caso contrário, ele será executado com as permissões solicitadas.

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

Para obter mais informações sobre a elevação de permissões, consulte Proteção de aplicativos de ClickOnce.Para obter mais informações sobre a implantação da diretiva, consulte Visão geral sobre implantação de aplicativos confiáveis.

Exemplos

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

O primeiro exemplo ilustra o trustInfo elemento para as permissões padrão disponíveis 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íveis 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íveis na zona de segurança FullTrust.

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

Consulte também

Referência

Manifesto de aplicativo de ClickOnce

Conceitos

Visão geral sobre implantação de aplicativos confiáveis