Compartilhar via


Classe MachineKeySection

Define as configurações que controlam a geração de chave e algoritmos usados na criptografia, na descriptografia e em operações de MAC (controle de acesso à mídia) na autenticação do Forms, na validação do estado de exibição e no isolamento do estado de sessão do aplicativo.

Sintaxe

class MachineKeySection : ConfigurationSection  

Métodos

A tabela a seguir lista os métodos expostos pela classe MachineKeySection.

Nome Descrição
GetAllowDefinition (Herdado de ConfigurationSection.)
GetAllowLocation (Herdado de ConfigurationSection.)
RevertToParent (Herdado de ConfigurationSection.)
SetAllowDefinition (Herdado de ConfigurationSection.)
SetAllowLocation (Herdado de ConfigurationSection.)

Propriedades

A tabela a seguir lista as propriedades expostas pela classe MachineKeySection.

Nome Descrição
Decryption Um valor string de leitura/gravação que especifica o tipo de algoritmo de hash usado para descriptografar dados. Os valores possíveis estão listados posteriormente na seção Comentários. O padrão é "Automático".
DecryptionKey Um valor de string de leitura/gravação que especifica o processo pelo qual a chave é gerada ou contém texto usado para criptografar e descriptografar dados. O padrão é “AutoGenerate,IsolateApps”. Observação: use a cadeia de caracteres "AutoGenerate" para especificar que ASP.NET gera uma chave aleatória e a armazena na Autoridade de Segurança Local. A cadeia de caracteres "AutoGenerate" faz parte do valor padrão. Se você adicionar o modificador "IsolateApps" ao valor DecryptionKey, ASP.NET gerará uma chave criptografada exclusiva para cada aplicativo usando a ID do aplicativo. "IsolateApps" também faz parte do valor padrão. Se você precisar oferecer suporte à configuração em uma rede de servidores Web (uma Web farm), defina a propriedade DecryptionKey manualmente para garantir uma configuração consistente.
Location (Herdado de ConfigurationSection.) Uma propriedade chave.
Path (Herdado de ConfigurationSection.) Uma propriedade chave.
SectionInformation (Herdado de ConfigurationSection.)
Validation Um valor de sint32 de leitura/gravação que especifica o tipo de criptografia usado para validar dados. Os valores possíveis estão listados posteriormente na seção Comentários.
ValidationKey Um valor de string de leitura/gravação que especifica o processo pelo qual a chave é gerada ou contém texto usado para validar dados criptografados. O padrão é “AutoGenerate,IsolateApps”. Observação: quando a propriedade EnableViewStateMAC da classe PagesSection é true, ASP.NET usa a propriedade ValidationKey para criar um código de autenticação de mensagem para garantir que o estado de exibição não tenha sido adulterado. A chave de validação também é usada para gerar IDs de sessão específicas do aplicativo fora do processo para garantir que as variáveis de estado da sessão sejam isoladas entre os aplicativos. Use a cadeia de caracteres "AutoGenerate" para especificar que ASP.NET gera uma chave aleatória e a armazena na Autoridade de Segurança Local. A cadeia de caracteres "AutoGenerate" faz parte do valor padrão. Se você adicionar o modificador "IsolateApps" ao valor ValidationKey, ASP.NET gerará uma chave criptografada exclusiva para cada aplicativo usando a ID do aplicativo. "IsolateApps" também faz parte do valor padrão. Se você precisar oferecer suporte à configuração em uma rede de servidores Web (uma Web farm), defina a propriedade ValidationKey manualmente para garantir uma configuração consistente.

Subclasses

Essa classe não contém subclasses.

Comentários

Observação

Para que a classe MachineKeySection funcione em uma rede de servidores Web (um farm da Web), as propriedades MachineKeySection devem ser configuradas de forma explícita e idêntica a um valor de chave válido. O valor "AutoGenerate" não funciona para Web farms porque depende de uma chave criptograficamente aleatória que é persistente apenas pelo computador local. Essa chave não pode ser descriptografada por outro computador.

A tabela a seguir lista os possíveis valores da propriedade Decryption. O padrão é "Automático".

Valor Descrição
Auto ASP.NET determina o algoritmo para descriptografar os dados com base nas definições de configuração padrão.
AES ASP.NET usa o algoritmo AES para descriptografar dados.
3DES ASP.NET usa o algoritmo DES Triplo para descriptografar dados.

A tabela a seguir lista os possíveis valores da propriedade Validation. O padrão é 1 (SHA1).

Valor Palavra-chave Descrição
0 MD5 O ASP.NET usa criptografia MD5 (Algoritmo de Resumo da Mensagem 5).
1 SHA1 O ASP.NET usa criptografia SHA1 (Secure Hash Algorithm 1).
2 3DES O ASP.NET usa criptografia DES triplo (padrão de criptografia de dados).
3 AES O ASP.NET usa criptografia AES.

Exemplo

O exemplo a seguir exibe as configurações de MachineKeySection para o site padrão.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = _  
    GetObject("winmgmts:root\WebAdministration")  
  
' Get the machine key section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "MachineKeySection", oMKeySection  
  
' Display the path and location.  
WScript.Echo "Machine Key Section Settings"  
WScript.Echo "----------------------------"  
WScript.Echo "Path: " & oMKeySection.Path  
WScript.Echo "Location: " & oMKeySection.Location  
  
' Display the machine key settings.  
WScript.Echo "Decryption: " & oMKeySection.Decryption  
  
WScript.Echo "Decryption Key: " & _  
    oMKeySection.DecryptionKey      
  
WScript.Echo "Validation: " & _  
    ValidationText(oMKeySection.Validation)  
  
WScript.Echo "Validation Key: " & oMKeySection.ValidationKey  
  
' Convert the Validation enumeration values to text.  
Function ValidationText(enumValue)  
    Select Case enumValue  
        Case 0  
            ValidationText = "MD5"  
        Case 1  
            ValidationText = "SHA1"  
        Case 2  
            ValidationText = "3DES"  
        Case 3  
            ValidationText = "AES"  
        Case Else  
            ValidationText = "Undefined enumeration value."  
    End Select  
End Function  
  

Hierarquia de herança

ConfigurationSection

MachineKeySection

Requisitos

Tipo Descrição
Cliente - IIS 7.0 no Windows Vista
– IIS 7.5 no Windows 7
– IIS 8.0 no Windows 8
– IIS 10.0 no Windows 10
Servidor – IIS 7.0 no Windows Server 2008
– IIS 7.5 no Windows Server 2008 R2
– IIS 8.0 no Windows Server 2012
– IIS 8.5 no Windows Server 2012 R2
– IIS 10.0 no Windows Server 2016
Product – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Arquivo MOF WebAdministration.mof

Confira também

System.Web.Configuration.MachineKeyValidationClasse ConfigurationSection
Classe PagesSection