Compartilhar via


<trustInfo> Elemento (aplicativo deClickOnce )

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 é necessário e está no elemento a asm.v2 namespace. 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 de security elemento e contém o PermissionSet, assemblyRequest, e defaultAssemblyRequestelementos. Este elemento possui sem atributos.

PermissionSet

Obrigatório. Este elemento é filho de 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 no 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, mas 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, por 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 do EnvironmentPermission restringe o aplicativo de leitura somente a variável de ambiente USERNAME, enquanto que a declaração do 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, 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, o que requer que este assembly. O conjunto de permissões é declarado na PermissionSet elemento.

requestedPrivileges

Opcional. Este elemento é filho de 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, o 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. Valores são 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 de confiança do runtime solicitará ao usuário se ele deseja conceder ao aplicativo nesse alto o 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 usuário solicitando que se o manifesto de implantação possui uma licença de confiança válido.

Para obter mais informações sobre a elevação de permissões, consulte Protegendo 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 o padrão, chamado de zonas de segurança — Internet, LocalIntranet e FullTrust — para uso em um ClickOnce manifesto de aplicativo. da implantação

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

ClickOnce Application Manifest

Conceitos

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