ProtectedConfiguration Class
TOC
Collapse the table of content
Expand the table of content

ProtectedConfiguration Class

 

Provides access to the protected-configuration providers for the current application's configuration file.

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

System.Object
  System.Configuration.ProtectedConfiguration

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public static class ProtectedConfiguration

NameDescription
System_CAPS_pubpropertySystem_CAPS_staticDefaultProvider

Gets the name of the default protected-configuration provider.

System_CAPS_pubpropertySystem_CAPS_staticProviders

Gets a collection of the installed protected-configuration providers.

NameDescription
System_CAPS_pubfieldSystem_CAPS_staticDataProtectionProviderName

The name of the data protection provider.

System_CAPS_pubfieldSystem_CAPS_staticProtectedDataSectionName

The name of the protected data section.

System_CAPS_pubfieldSystem_CAPS_staticRsaProviderName

The name of the RSA provider.

The ProtectedConfiguration class allows you to obtain information about the providers available to protect sensitive configuration data. You typically use the standard providers, but you can also create custom providers by deriving from the ProtectedConfigurationProvider class.

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

The following example shows how to use the ProtectedConfiguration class to retrieve a collection of protected-configuration providers and discover their provider name, RSA provider name, and section names.

using System;
using System.Configuration;
using System.Collections;
using System.Security.Permissions;

namespace Samples.AspNet
{

    // Show how to use the ProtectedConfiguration.
    public sealed class UsingProtectedConfiguration
    {



        [PermissionSet(SecurityAction.Demand, Name="FullTrust")]    
 	 private static void GetProviders()
        {
            // Get the providers' collection.
            ProtectedConfigurationProviderCollection
                providers = ProtectedConfiguration.Providers;

            IEnumerator pEnum =
                providers.GetEnumerator();

            foreach (ProtectedConfigurationProvider provider in
                providers)
            {
                Console.WriteLine
                    ("Provider name: {0}",
                      provider.Name);
                Console.WriteLine
                         ("Provider description: {0}",
                          provider.Description);

            }

        }

       [PermissionSet(SecurityAction.Demand, Name="FullTrust")]    
	private static void GetProviderName()
        {
            // Get the current provider name.
            string dataProtectionProviderName =
               ProtectedConfiguration.DataProtectionProviderName;
            Console.WriteLine(
                "Data protection provider name: {0}",
                 dataProtectionProviderName);

            // Get the Rsa provider name.
            string rsaProviderName =
                ProtectedConfiguration.RsaProviderName;
            Console.WriteLine(
                "Rsa provider name: {0}",
                 rsaProviderName);

            // Get the protected section name.
            string protectedSectionName =
                ProtectedConfiguration.ProtectedDataSectionName;
            Console.WriteLine(
                "Protected section name: {0}",
                 protectedSectionName);


        }


        static void Main(string[] args)
        {


            // Get current and Rsa provider names.
            GetProviderName();

            // Get the providers' collection.
            GetProviders();


        }
    }    
}

.NET Framework
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.

Return to top
Show:
© 2016 Microsoft