MachineKeySection.CompatibilityMode Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um valor que especifica se são utilizados métodos de encriptação atualizados para o estado da visualização, introduzidos após o lançamento do Service Pack 1 do .NET Framework versão 2.0.
public:
property System::Web::Configuration::MachineKeyCompatibilityMode CompatibilityMode { System::Web::Configuration::MachineKeyCompatibilityMode get(); void set(System::Web::Configuration::MachineKeyCompatibilityMode value); };
[System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)]
public System.Web.Configuration.MachineKeyCompatibilityMode CompatibilityMode { get; set; }
[<System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)>]
member this.CompatibilityMode : System.Web.Configuration.MachineKeyCompatibilityMode with get, set
Public Property CompatibilityMode As MachineKeyCompatibilityMode
Valor de Propriedade
Um valor que indica se são utilizados métodos de encriptação introduzidos após o lançamento do .NET Framework 2.0 SP1.
- Atributos
Observações
Os métodos de encriptação atualizados nas versões posteriores do .NET Framework reduzem o risco de um atacante conseguir fazer engenharia reversa com sucesso do valor DecryptionKey. Os métodos de encriptação mais antigos estão disponíveis para manter a compatibilidade retroativa.
Todos os servidores numa Web farm devem ter a CompatibilityMode propriedade definida com o mesmo valor. Se o servidor que lê um ticket de autenticação de formulários tiver uma configuração diferente CompatibilityMode do servidor que criou o ticket, o ticket não será reconhecido.
Os seguintes valores podem ser especificados para a CompatibilityMode propriedade:
Framework20SP1. Este valor especifica que o ASP.NET utiliza métodos de encriptação que estavam disponíveis em versões do ASP.NET anteriores à 2.0 SP2. Use este valor para todos os servidores numa web farm se algum servidor tiver uma versão do .NET Framework anterior à 2.0 SP2. Este é o valor predefinido, a menos que o ficheiro Web.config da aplicação tenha otargetFrameworkatributo dohttpRuntimeelemento definido como "4.5".Framework20SP2. Este valor especifica que o ASP.NET utiliza métodos de encriptação atualizados que foram introduzidos no .NET Framework 2.0 SP2. Use este valor para todos os servidores numa web farm se todos os servidores tiverem o .NET Framework 2.0, SP2 ou posterior, mas pelo menos um não tiver o .NET Framework 4.5.Framework45. Estão em vigor melhorias criptográficas para o ASP.NET 4.5. Este é o valor padrão se o ficheiro de Web.config aplicação tiver otargetFrameworkatributo dohttpRuntimeelemento definido como "4.5".
Quando esta propriedade é definida para Framework45, as seguintes restrições estão em vigor:
Se a DataProtectorType propriedade tiver valor, também ApplicationName deve ter valor. A DataProtector disciplina exige que seja fornecido um nome de candidatura não vazio.
O Validation atributo deve ser um algoritmo de validação real (por exemplo, MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) ou um algoritmo personalizado que subclasse o KeyedHashAlgorithm tipo. Os valores AES e 3DES são proibidos.
O framework não produzirá payloads apenas assinados. Os tickets de autenticação de formulários serão sempre encriptados e assinados, independentemente de como o
protectionatributo doformselemento está definido no ficheiro Web.config. O estado de visualização será sempre simultaneamente encriptado e assinado se qualquer umEnableViewStateMacdos ouRequireViewStateEncryptionestiver definido para uma determinada página.
Como resultado da atualização de segurança descrita no boletim de segurança Microsoft MS10-070, o comportamento padrão de encriptação é o mesmo para as definições Framework20SP1 e Framework20SP2. Não é recomendado alterar o comportamento padrão, mas se quiser fazer isso, veja Como configurar o modo de encriptação legado em ASP.NET.