Configuration Protector

Configuration Protector

Specification

The Configuration Protector application targets the .Net Framework version 2.0 and requires, at least, this version to operate successfully.

Overview

The Configuration Protector is a developer tool designed to simplify the task of encrypting and decrypting configuration file sections during application development. When a configuration section has been encrypted using a defined protected configuration provider the .Net Framework will automatically decrypt it at run time. However, whilst developing an application you may need to make changes to the settings in an encrypted section, to add a new value, update an existing value or delete an existing value. To make changes such as these you will have to manually decrypt the section, make the change or changes and then encrypt the section again.

The Configuration Protector provides a graphical user interface that enables configuration sections to be encrypted and decrypted using a point and click technique that reduces typing and therefore mistakes and speeds up the whole process. Once you have specified a configuration file you can leave the Configuration Protector open whilst you are working on your application and return to it to decrypt and then re-encrypt a configuration section in seconds.

In addition to providing a simple and intuitive user interface for encrypting and decrypting configuration file sections the Configuration Protector also provides a graphical user interface for managing RSA key containers and their keys.

.Net Framework Version

The Configuration Protector targets .Net Framework version 2.0 and requires, at least, this version to operate successfully.

Running Configuration Protector

As a developer tool the Configuration Protector performs actions that will not, typically, be permitted when running under a standard user account. For example, the Configuration Protector needs to be able to load a configuration file and update it's settings, it also provides functionality to work with RSA key containers and their keys. Therefore, the account under which the Configuration Protector is running will, typically, need to be an administrator account or an account with similar elevated permissions.

Features

The Configuration Protector's main features are as follows:

  • Encrypts and decrypts configuration section data in app.config and web.config files.
  • Encrypts and decrypts configuration section data using the RSA and DPAPI protected configuration providers defined in the machine.config file when the .Net Framework is installed.
  • Encrypts and decrypts configuration section data using the RSA and DPAPI protected configuration providers with custom attributes defined in the machine.config, app.config or web.config file.
  • Encrypts and decrypts configuration section data using a custom protected configuration provider developed by yourself or by a third party and defined in the machine.config, app.config or web.config file.
  • Define custom attributes for the RSA and DPAPI protected configuration providers and save the provider definition to the app.config or web.config file.
  • Define the attributes of a custom protected configuration provider, developed by yourself or a third party and save the custom provider definition to the app.config or web.config file.
  • Specify the properties of a machine-level RSA key container. Create a machine-level RSA key container with a generated public/private key pair.
  • Specify an RSA key container, user or group account and required access permission. Add the user or group account access permission to an RSA key container.
  • Specify an RSA key container and user or group account. Remove the user or group account access permission from an RSA key container.
  • Specify an RSA key container and export key file. Export the public and optionally the private key from an RSA key container to an XML key file.
  • Specify an RSA key container and import key file. Import the public and optionally the private key from an XML key file into an RSA key container.
  • Specify a machine-level RSA key container. Delete a machine-level RSA key container.