Partager via


Classe MachineKeySection

Définit les paramètres de configuration qui contrôlent la génération de clés et les algorithmes utilisés dans le chiffrement, le déchiffrement et les opérations de contrôle d’accès aux médias (MAC) dans les formulaires d’authentification, la validation d’état d’affichage et l’isolation d’application des états de session.

Syntaxe

class MachineKeySection : ConfigurationSection  

Méthodes

Le tableau suivant répertorie les méthodes exposées par la classe MachineKeySection.

Nom Description
GetAllowDefinition (Hérité de ConfigurationSection.)
GetAllowLocation (Hérité de ConfigurationSection.)
RevertToParent (Hérité de ConfigurationSection.)
SetAllowDefinition (Hérité de ConfigurationSection.)
SetAllowLocation (Hérité de ConfigurationSection.)

Propriétés

Le tableau suivant répertorie les propriétés exposées par la classe MachineKeySection.

Nom Description
Decryption Valeur de string découpée en lecture/écriture qui spécifie le type d’algorithme de hachage utilisé pour déchiffrer les données. Les valeurs possibles sont répertoriées plus loin dans la section Remarques. La valeur par défaut est « Auto ».
DecryptionKey Valeur rognée string en lecture/écriture qui spécifie le processus par lequel la clé est générée ou contient du texte utilisé pour chiffre et déchiffrer les données. La valeur par défaut est « AutoGenerate,IsolateApps ». Remarque : utilisez la chaîne « AutoGenerate » pour spécifier que ASP.NET génère une clé aléatoire et la stocke dans l’autorité de sécurité locale. La chaîne « AutoGenerate » fait partie de la valeur par défaut. Si vous ajoutez le modificateur « IsolateApps » à la valeur DecryptionKey, ASP.NET génère une clé chiffrée unique pour chaque application à l’aide de son identifiant d’application. « IsolateApps » fait également partie de la valeur par défaut. Si vous devez prendre en charge la configuration sur un réseau de serveurs web (une batterie de serveurs web), définissez la propriété DecryptionKey manuellement pour garantir une configuration cohérente.
Location (Hérité de ConfigurationSection.) Propriété de clé.
Path (Hérité de ConfigurationSection.) Propriété de clé.
SectionInformation (Hérité de ConfigurationSection.)
Validation Valeur de sint32 en lecture/écriture qui spécifie le type de chiffrement qui est utilisé pour la validation des données. Les valeurs possibles sont répertoriées plus loin dans la section Remarques.
ValidationKey Valeur rognée string en lecture/écriture qui spécifie le processus par lequel la clé est générée ou contient du texte utilisé pour valider les données chiffrées. La valeur par défaut est « AutoGenerate,IsolateApps ». Remarque : lorsque la propriété EnableViewStateMAC de la classe PagesSection est true, ASP.NET utilise la propriété ValidationKey pour créer un code d’authentification de message pour vous assurer que l’état d’affichage n’a pas été falsifié. La clé de validation est également utilisée pour générer des identifiants de session hors processus et spécifiques à l’application pour s’assurer que les variables d’état de session sont isolées entre les applications. Utilisez la chaîne « AutoGenerate » pour spécifier que ASP.NET génère une clé aléatoire et la stocke dans l’autorité de sécurité locale. La chaîne « AutoGenerate » fait partie de la valeur par défaut. Si vous ajoutez le modificateur « IsolateApps » à la valeur ValidationKey, ASP.NET génère une clé chiffrée unique pour chaque application à l’aide de son identifiant d’application. « IsolateApps » fait également partie de la valeur par défaut. Si vous devez prendre en charge la configuration sur un réseau de serveurs web (une batterie de serveurs web), définissez la propriété ValidationKey manuellement pour garantir une configuration cohérente.

Sous-classes

Cette classe ne contient aucune sous-classe.

Notes

Remarque

Pour que la classe MachineKeySection fonctionne sur un réseau de serveurs web (une batterie de serveurs web), les propriétés MachineKeySection doivent être configurées explicitement et de manière identique avec une valeur de clé valide. La valeur « AutoGenerate » ne fonctionne pas pour les batteries de serveurs web, car elle s’appuie sur une clé aléatoire par chiffrement persistante uniquement par l’ordinateur local. Cette clé ne peut pas être déchiffrée par d’autres ordinateurs.

Le tableau suivant répertorie les valeurs possibles pour la propriété Decryption. La valeur par défaut est « Auto ».

Valeur Description
Automatique ASP.NET détermine l’algorithme avec lequel déchiffrer les données en s’appuyant sur les paramètres de configuration par défaut.
AES ASP.NET utilise l’algorithme AES pour déchiffrer les données.
3DES ASP.NET utilise l’algorithme Triple DES pour déchiffrer les données.

Le tableau suivant répertorie les valeurs possibles pour la propriété Validation. La valeur par défaut est 1 (SHA1).

Valeur Mot clé Description
0 MD5 ASP.NET utilise le chiffrement MD5 (algorithme Message-Digest 5).
1 SHA1 ASP.NET utilise le chiffrement SHA1 (Secure Hash Algorithm 1).
2 3DES ASP.NET utilise le chiffrement Triple DES (Data Encryption Standard).
3 AES ASP.NET utilise le chiffrement AES (Advanced Encryption Standard).

Exemple

L'exemple suivant affiche les paramètres MachineKeySection par défaut pour le site web par défaut.

' 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  
  

Hiérarchie d'héritage

ConfigurationSection

MachineKeySection

Spécifications

Type Description
Client - IIS 7.0 sous Windows Vista
- IIS 7.5 sur Windows 7
- IIS 8.0 sous Windows 8
- IIS 10.0 sur Windows 10
Serveur - IIS 7.0 sous Windows Server 2008
- IIS 7.5 sous Windows Server 2008 R2
- IIS 8.0 sur Windows Server 2012
- IIS 8.5 sur Windows Server 2012 R2
- IIS 10.0 sur Windows Server 2016
Produit - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Fichier MOF WebAdministration.mof

Voir aussi

System.Web.Configuration.Compilation.MachineKeyValidationClasse ConfigurationSection
Classe PagesSection