MachineKeySection.CompatibilityMode Propriété

Définition

Obtient ou définit une valeur qui indique si les méthodes de chiffrement mises à niveau pour l’état d’affichage introduites après la mise en production du Service Pack 1 de .NET Framework version 2.0 sont utilisées.

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

Valeur de propriété

Valeur qui indique si les méthodes de chiffrement introduites après la mise en production .NET Framework 2.0 SP1 sont utilisées.

Attributs

Remarques

Les méthodes de chiffrement mises à niveau dans les versions ultérieures du .NET Framework réduisent le risque qu’un attaquant puisse réussir à rétroconcevoir la DecryptionKey valeur. Les anciennes méthodes de chiffrement sont disponibles afin de maintenir la compatibilité descendante.

Tous les serveurs d’une batterie de serveurs Web doivent avoir la CompatibilityMode propriété définie sur la même valeur. Si le serveur qui lit un ticket d’authentification par formulaire a un paramètre différent CompatibilityMode de celui du serveur qui a créé le ticket, le ticket n’est pas reconnu.

Les valeurs suivantes peuvent être spécifiées pour la CompatibilityMode propriété :

  • Framework20SP1. Cette valeur spécifie que ASP.NET utilise des méthodes de chiffrement qui étaient disponibles dans les versions de ASP.NET antérieures à 2.0 SP2. Utilisez cette valeur pour tous les serveurs d’une batterie de serveurs web si un serveur a une version du .NET Framework antérieure à 2.0 SP2. Il s’agit de la valeur par défaut, sauf si l’attribut de l targetFrameworkhttpRuntime 'Web.config fichier d’application est défini sur « 4.5 ».

  • Framework20SP2. Cette valeur spécifie que ASP.NET utilise des méthodes de chiffrement mises à niveau qui ont été introduites dans .NET Framework 2.0 SP2. Utilisez cette valeur pour tous les serveurs d’une batterie de serveurs web si tous les serveurs ont .NET Framework 2.0 SP2 ou version ultérieure, mais qu’au moins un n’a pas le .NET Framework 4.5.

  • Framework45. Des améliorations de chiffrement pour ASP.NET 4.5 sont en vigueur. Il s’agit de la valeur par défaut si l’application Web.config fichier a l’attribut targetFramework de l’élément httpRuntime défini sur « 4.5 ».

Lorsque cette propriété a la Framework45valeur , les restrictions suivantes sont en vigueur :

  • Si la propriété DataProtectorType a une valeur, la propriété ApplicationName doit également avoir une valeur. La DataProtector classe exige qu’un nom d’application non vide soit fourni.

  • L’attribut Validation doit être un algorithme de validation réel (par exemple, MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) ou un algorithme personnalisé qui sous-classe le KeyedHashAlgorithm type. Les valeurs AES et 3DES sont interdites.

  • L’infrastructure ne produit pas de charges utiles signées uniquement. Les tickets d’authentification par formulaire seront toujours chiffrés et signés, quelle que soit la façon dont l’attribut protection de l’élément forms est défini dans le fichier Web.config. L’état d’affichage est toujours chiffré et signé si EnableViewStateMac ou RequireViewStateEncryption est défini pour une page donnée.

À la suite de la mise à jour de sécurité décrite dans le bulletin de sécurité Microsoft MS10-070, le comportement de chiffrement par défaut est le même pour les Framework20SP1 paramètres et Framework20SP2 . Il n’est pas recommandé de modifier le comportement par défaut, mais si vous le souhaitez, consultez Comment configurer le mode de chiffrement hérité dans ASP.NET.

S’applique à