RsaProtectedConfigurationProvider Class
Provides a ProtectedConfigurationProvider instance that uses RSA encryption to encrypt and decrypt configuration data.
Assembly: System.Configuration (in System.Configuration.dll)
System.Configuration.Provider::ProviderBase
System.Configuration::ProtectedConfigurationProvider
System.Configuration::RsaProtectedConfigurationProvider
| Name | Description | |
|---|---|---|
![]() | RsaProtectedConfigurationProvider() | Initializes a new instance of the RsaProtectedConfigurationProvider class. |
| Name | Description | |
|---|---|---|
![]() | CspProviderName | Gets the name of the Windows cryptography API (crypto API) cryptographic service provider (CSP). |
![]() | Description | Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).(Inherited from ProviderBase.) |
![]() | KeyContainerName | Gets the name of the key container. |
![]() | Name | Gets the friendly name used to refer to the provider during configuration.(Inherited from ProviderBase.) |
![]() | RsaPublicKey | Gets the public key used by the provider. |
![]() | UseFIPS | Gets a value indicating whether the provider uses FIPS. |
![]() | UseMachineContainer | Gets a value that indicates whether the RsaProtectedConfigurationProvider object is using the machine key container. |
![]() | UseOAEP | Gets a value that indicates whether the provider is using Optimal Asymmetric Encryption Padding (OAEP) key exchange data. |
| Name | Description | |
|---|---|---|
![]() | AddKey(Int32, Boolean) | Adds a key to the RSA key container. |
![]() | Decrypt(XmlNode^) | Decrypts the XML node passed to it.(Overrides ProtectedConfigurationProvider::Decrypt(XmlNode^).) |
![]() | DeleteKey() | Removes a key from the RSA key container. |
![]() | Encrypt(XmlNode^) | Encrypts the XML node passed to it.(Overrides ProtectedConfigurationProvider::Encrypt(XmlNode^).) |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | ExportKey(String^, Boolean) | Exports an RSA key from the key container. |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ImportKey(String^, Boolean) | Imports an RSA key into the key container. |
![]() | Initialize(String^, NameValueCollection^) | Initializes the provider with default settings.(Overrides ProviderBase::Initialize(String^, NameValueCollection^).) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The RsaProtectedConfigurationProvider class gives you a way to encrypt sensitive information stored in a configuration file, which helps protect it from unauthorized access. You use the built-in RsaProtectedConfigurationProvider instance by declaring the provider and making appropriate settings in the configuration file instead of creating an instance of this class, as shown in the example later in this topic.
The RsaProtectedConfigurationProvider object uses the cryptography functions provided by RSA class to encrypt and decrypt configuration sections.
Note |
|---|
Before ASP.NET can decrypt encrypted information in your configuration file, the identity of your ASP.NET application must have read access to the encryption key used to encrypt and decrypt the configuration data. For more information, see Walkthrough: Encrypting Configuration Information Using Protected Configuration. |
The following code example shows how to use the standard RsaProtectedConfigurationProvider to protect or unprotect a configuration section.
The following example shows an excerpt from a configuration file after encryption.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>B702tRDVHJjC3CYXt7I0ucCDjdht/Vyk/DdUhwQyt7vepSD85dwCP8ox9Y1BUdjajFeTFfFBsGypbli5HPGRYamQdrVkPo07bBBXNT5H02qxREguGUU4iDtV1Xp8BLVZjQMV4ZgP6Wbctw2xRvPC7GvKHLI4fUN/Je5LmutsijA=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>ME+XJA2TAj3QN3yT4pJq3sRArC0i7Cz3Da71BkaRe9QNfuVuUjcv0jeGUN4wDdOAZ7LPq6UpVrpirY3kQcALDvPJ5nKxk++Mw75rjtIO8eh2goTY9rCK6zanfzaDshFy7IqItpvs/y2kmij25nM3ury6uO0hCf0UbEL1mbT2jXDqvcrHZUobO1Ef6bygBZ/8HpU+VfF9CTCob/BBE9zUkK37EQhcduwsnzBvDblYbF/Rd+F4lxAkZnecGLfCZjOzJB4xH1a0vvWtPR7zNwL/7I0uHzQjyMdWrkBnotMjoR70R7NELBotCogWO0MBimncKigdR3dTTdrCd72a7UJ4LMlEQaZXGIJp4PIg6qVDHII=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
</configuration>
for full access to the resource protected by the permission. Demand.
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
ProtectedConfigurationProvider
DpapiProtectedConfigurationProvider
RSA
System.Configuration Namespace
Cryptographic Services
Walkthrough: Encrypting Configuration Information Using Protected Configuration
Walkthrough: Creating and Exporting an RSA Key Container
Specifying a Protected Configuration Provider


