ProtectSection Method
Collapse the table of content
Expand the table of content

SectionInformation.ProtectSection Method (String)

 

Marks a configuration section for protection.

Namespace:   System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)

public void ProtectSection(
	string protectionProvider
)

Parameters

protectionProvider
Type: System.String

The name of the protection provider to use.

Exception Condition
InvalidOperationException

The AllowLocation property is set to false.

- or -

The target section is already a protected data section.

The ProtectSection method marks the section for encryption so it will be written in encrypted form on disk.

The following protection providers are included by default:

DpapiProtectedConfigurationProvider

RsaProtectedConfigurationProvider

System_CAPS_noteNote

If you call the ProtectSection method with a null parameter or an empty string, the RsaProtectedConfigurationProvider class is used as the protection provider.

For more information about protected configuration sections, see Encrypting Configuration Information Using Protected Configuration.

The following example shows how to use the ProtectSection method.

static public void ProtectSection()
{

    // Get the current configuration file.
    System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);


    // Get the section.
    UrlsSection section =
        (UrlsSection)config.GetSection("MyUrls");


    // Protect (encrypt)the section.
    section.SectionInformation.ProtectSection(
        "RsaProtectedConfigurationProvider");

    // Save the encrypted section.
    section.SectionInformation.ForceSave = true;

    config.Save(ConfigurationSaveMode.Full);

    // Display decrypted configuration 
    // section. Note, the system
    // uses the Rsa provider to decrypt
    // the section transparently.
    string sectionXml =
        section.SectionInformation.GetRawXml();

    Console.WriteLine("Decrypted section:");
    Console.WriteLine(sectionXml);

}

.NET Framework
Available since 2.0
Return to top
Show:
© 2016 Microsoft