Mise à jour : novembre 2007
Configure des clés à utiliser pour le chiffrement et le déchiffrement des données de cookie d'authentification par formulaire et des données d'état d'affichage, ainsi que pour la vérification de l'identification d'état de session out-of-process.
configuration, élément (Schéma des paramètres généraux) system.web, élément (Schéma des paramètres ASP.NET) machineKey, élément (Schéma des paramètres ASP.NET)
<machineKey
validationKey="AutoGenerate,IsolateApps" [String]
decryptionKey="AutoGenerate,IsolateApps" [String]
validation="SHA1" [SHA1 | MD5 | 3DES | AES]
decryption="Auto" [Auto | DES | 3DES | AES]
/>
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut | Description |
|---|
decryption | Attribut String facultatif. Spécifie le type d'algorithme de hachage qui est utilisé pour déchiffrer des données. Cet attribut peut posséder l'une des valeurs suivantes. Valeur | Description |
|---|
Auto | Spécifie qu'ASP.NET détermine l'algorithme de déchiffrement à utiliser en fonction des paramètres de configuration. Il s'agit de la valeur de déchiffrement machineKey par défaut. | AES | Spécifie qu'ASP.NET utilise l'algorithme AES (Rijndael) pour déchiffrer des données. AES est l'algorithme de déchiffrement des données par défaut. | 3DES | Spécifie qu'ASP.NET utilise l'algorithme TripleDES pour déchiffrer des données. L'algorithme TripleDES (3DES) utilise trois itérations consécutives de l'algorithme DES. | DES | Spécifie qu'ASP.NET utilise l'algorithme DES (Data Encryption Standard) pour déchiffrer des données. |
Remarque : |
|---|
Cet attribut est une nouveauté de la version 2.0 du .NET Framework. |
|
decryptionKey | Attribut String requis. Spécifie la clé qui permet de chiffrer et de déchiffrer des données, ou le processus par lequel la clé est générée. Cet attribut est utilisé pour le chiffrement et le déchiffrement de l'authentification par formulaire et pour le chiffrement de l'état d'affichage lorsque validation a pour valeur le champ TripleDES. Le modificateur IsolateApps de la valeur decryptionKey indique qu'ASP.NET génère une clé chiffrée unique pour chaque application, à l'aide de l'ID de l'application. IsolateApps est inclus dans le cadre de la valeur par défaut. Si vous devez prendre en charge la configuration sur un réseau de serveurs Web (batterie de serveurs Web), définissez manuellement cet attribut pour garantir une configuration cohérente. Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est AutoGenerate,IsolateApps. Valeur | Description |
|---|
AutoGenerate, IsolateApps | Le modificateur AutoGenerate spécifie qu'ASP.NET génère une clé aléatoire et la stocke dans l'autorité de sécurité locale (LSA). Le modificateur IsolateApps spécifie qu'ASP.NET génère une clé chiffrée unique pour chaque application à l'aide de l'ID d'application de chaque application. Valeur par défaut. | valeur | Spécifie une clé assignée manuellement. Cette valeur doit être attribuée manuellement à une chaîne de caractères hexadécimaux pour permettre une configuration cohérente sur l'ensemble d'une batterie de serveurs Web. La clé doit compter 16 caractères hexadécimaux lorsque vous utilisez le chiffrement DES et 48 caractères hexadécimaux lorsque vous utilisez le chiffrement Triple DES (3DES) ou AES. Si des clés dont la longueur est inférieure au maximum sont utilisées, elles doivent être créées de façon réellement aléatoire, en utilisant par exemple la classe RNGCryptoServiceProvider. ASP.NET peut utiliser DES uniquement sur les ordinateurs disposant du chiffrement 128 bits. |
|
validation | Attribut MachineKeyValidation requis. Spécifie le type de chiffrement utilisé pour valider des données. Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est SHA1. Valeur | Description |
|---|
AES | Spécifie qu'ASP.NET utilise l'algorithme AES (Rijndael) pour valider des données. | MD5 | Spécifie qu'ASP.NET utilise l'algorithme de hachage Message Digest 5 (MD5) pour valider des données. Cet algorithme donne de meilleures performances que SHA1. | SHA1 | Spécifie qu'ASP.NET utilise l'algorithme de hachage SHA1 pour valider des données. Pour une sécurité accrue, utilisez cet algorithme. Valeur par défaut. | 3DES | Spécifie qu'ASP.NET utilise l'algorithme TripleDES pour valider des données. L'algorithme TripleDES utilise trois itérations consécutives de l'algorithme DES. |
|
validationKey | Attribut String requis. Spécifie la clé utilisée pour la validation des données chiffrées. validationKey s'utilise lorsque enableViewStateMAC a la valeur true afin de créer un code d'authentification de message (MAC) qui permet de s'assurer que l'état n'a pas été falsifié. validationKey s'utilise également pour générer des ID out-of-process spécifiques à l'application, afin de garantir que les variables de l'état de session sont isolées entre les sessions. Le modificateur IsolateApps de la valeur validationKey indique qu'ASP.NET génère une clé chiffrée unique pour chaque application, à l'aide de l'ID de l'application. IsolateApps est inclus dans le cadre de la valeur par défaut. Si vous devez prendre en charge la configuration sur un réseau de serveurs Web (batterie de serveurs Web), définissez manuellement l'attribut validationKey pour garantir une configuration cohérente. Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est "AutoGenerate,IsolateApps". Valeur | Description |
|---|
AutoGenerate, IsolateApps | Le modificateur AutoGenerate spécifie qu'ASP.NET génère une clé aléatoire et la stocke dans l'autorité de sécurité locale (LSA). Le modificateur IsolateApps spécifie qu'ASP.NET génère une clé chiffrée unique pour chaque application à l'aide de l'ID de l'application. C'est la valeur par défaut. | valeur | Spécifie une clé assignée manuellement. Cette valeur doit être attribuée à une chaîne de caractères hexadécimaux pour permettre une configuration cohérente sur l'ensemble d'une batterie de serveurs Web. La clé doit compter 16 caractères hexadécimaux lorsque vous utilisez le chiffrement DES ou 48 caractères hexadécimaux lorsque vous utilisez le chiffrement Triple DES (3DES) ou AES. Si des clés dont la longueur est inférieure au maximum sont utilisées, elles doivent être créées de façon réellement aléatoire, en utilisant par exemple la classe RNGCryptoServiceProvider. ASP.NET peut utiliser DES uniquement sur les ordinateurs disposant du chiffrement 128 bits. |
|
Éléments enfants
Aucun.
Éléments parents
Élément | Description |
|---|
configuration | Spécifie l'élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et dans les applications .NET Framework. |
system.web | Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications. |
L'exemple de code suivant montre comment affecter aux attributs validationKey et decryptionKey la valeur AutoGenerate. La valeur isolateApps est spécifiée pour générer des clés uniques pour chaque application sur le serveur.
<machineKey
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"
/>
Informations sur les éléments
Gestionnaire de section de configuration | MachineKeySection |
Membre de configuration | MachineKey |
Emplacements configurables | Fichier Machine.config Fichier Web.config racine Fichier Web.config de niveau application |
Configuration requise | Microsoft Internet Information Services (IIS) 5.0, 5.1 ou 6.0 .NET Framework version 1.0, 1.1 ou 2.0 |
Tâches
Concepts
Référence
Autres ressources