MachineKeySection Class
Defines the configuration settings that control the key generation and algorithms that are used in encryption, decryption, and message authentication code (MAC) operations in Windows Forms authentication, view-state validation, and session-state application isolation. This class cannot be inherited.
System.Configuration::ConfigurationElement
System.Configuration::ConfigurationSection
System.Web.Configuration::MachineKeySection
Assembly: System.Web (in System.Web.dll)
The MachineKeySection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | MachineKeySection | Infrastructure. Initializes a new instance of the MachineKeySection class by using default settings. |
| Name | Description | |
|---|---|---|
![]() | CompatibilityMode | Gets or sets a value that specifies whether upgraded encryption methods for view state that were introduced in the .NET Framework version 2.0 Service Pack 2 release are used. |
![]() | CurrentConfiguration | Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement.) |
![]() | Decryption | Specifies the encryption algorithm that is used for encrypting and decrypting forms authentication data. |
![]() | DecryptionKey | Gets or sets the key that is used to encrypt and decrypt data, or the process by which the key is generated. |
![]() | ElementInformation | Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.) |
![]() | ElementProperty | Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.) |
![]() | EvaluationContext | Gets the ContextInformation object for the ConfigurationElement object. (Inherited from ConfigurationElement.) |
![]() | Item[ConfigurationProperty] | Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.) |
![]() | Item[String] | Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.) |
![]() | LockAllAttributesExcept | Gets the collection of locked attributes. (Inherited from ConfigurationElement.) |
![]() | LockAllElementsExcept | Gets the collection of locked elements. (Inherited from ConfigurationElement.) |
![]() | LockAttributes | Gets the collection of locked attributes (Inherited from ConfigurationElement.) |
![]() | LockElements | Gets the collection of locked elements. (Inherited from ConfigurationElement.) |
![]() | LockItem | Gets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.) |
![]() | Properties | Gets the collection of properties. (Inherited from ConfigurationElement.) |
![]() | SectionInformation | Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object. (Inherited from ConfigurationSection.) |
![]() | Validation | Specifies the hashing algorithm that is used for validating forms authentication and view state data. |
![]() | ValidationAlgorithm | Gets or sets the name of a custom algorithm that is used to validate forms authentication and view state data. |
![]() | ValidationKey | Gets or sets the key that is used to validate forms authentication and view state data, or the process by which the key is generated. |
| Name | Description | |
|---|---|---|
![]() | DeserializeElement | Reads XML from the configuration file. (Inherited from ConfigurationElement.) |
![]() | DeserializeSection | Infrastructure. Reads XML from the configuration file. (Inherited from ConfigurationSection.) |
![]() | Equals | Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.) |
![]() | GetRuntimeObject | Returns a custom object when overridden in a derived class. (Inherited from ConfigurationSection.) |
![]() | GetTransformedAssemblyString | Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement.) |
![]() | GetTransformedTypeString | Returns the transformed version of the specified type name. (Inherited from ConfigurationElement.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Init | Sets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.) |
![]() | InitializeDefault | Used to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.) |
![]() | IsModified | Indicates whether this configuration element has been modified since it was last saved or loaded when implemented in a derived class. (Inherited from ConfigurationSection.) |
![]() | IsReadOnly | Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.) |
![]() | ListErrors | Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list. (Inherited from ConfigurationElement.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | OnDeserializeUnrecognizedAttribute | Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement.) |
![]() | OnDeserializeUnrecognizedElement | Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement.) |
![]() | OnRequiredPropertyNotFound | Throws an exception when a required property is not found. (Inherited from ConfigurationElement.) |
![]() | PostDeserialize | Called after deserialization. (Inherited from ConfigurationElement.) |
![]() | PreSerialize | Called before serialization. (Inherited from ConfigurationElement.) |
![]() | Reset | Resets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.) |
![]() | ResetModified | Resets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationSection.) |
![]() | SerializeElement | Writes the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.) |
![]() | SerializeSection | Infrastructure. Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file. (Inherited from ConfigurationSection.) |
![]() | SerializeToXmlElement | Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.) |
![]() | SetPropertyValue | Sets a property to the specified value. (Inherited from ConfigurationElement.) |
![]() | SetReadOnly | Sets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.) |
![]() | ShouldSerializeElementInTargetVersion | Indicates whether the specified element should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.) |
![]() | ShouldSerializePropertyInTargetVersion | Indicates whether the specified property should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.) |
![]() | ShouldSerializeSectionInTargetVersion | Indicates whether the current ConfigurationSection instance should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | Unmerge | Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.) |
The MachineKeySection class provides a way to programmatically access and modify the content of the MachineKey section in the configuration file. The MachineKey section can be configured at the machine (Machine.config) or application (Web.config) level and controls the keys and algorithms that are used for Windows Forms authentication, view-state validation, and session-state application isolation. For any of these features to work across a network of Web servers (a Web farm), the DecryptionKey and ValidationKey attributes of the MachineKey section must be configured explicitly and identically with valid key values. The AutoGenerate value does not work for Web farms, because it relies on a cryptographically random secret, which is persisted using machine-local protection and will not be the same across more than one computer.
Notes to ImplementersIf you to specify keys in this configuration section, as is required in Web-farm scenarios, it is recommended that you encrypt this section by using protected configuration.
The example in this section demonstrates how to specify values declaratively for several attributes of the machineKey section, which can also be accessed as members of the MachineKeySection class.
The following example from a configuration file shows how to specify values declaratively for the machineKey section.
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
</system.web>
The following example demonstrates how to use the MachineKeySection class in code.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.



