Encrypting Web.Config in ASP.NET 2.0

Rodrigo puso un post muy interesante sobre la encripción del Web.Config. Esta es una nueva característica que ASP.NET 2.0 nos ofrece y es muy sencillo de implementar… como en todos lados la seguridad es muy importante y muchas veces guardar información sensible en el Web.Config no es apropiado.

Por otro lado, me gustaría complementar ese post con un pequeño segmento de código para realizar una encripción, pero vía programática. Y dice así:

1 void ButtonEncryptClick(object sender, EventArgs e)
2 {
3 Configuration config = WebConfiguration.GetWebConfiguration(Request.ApplicationPath);
4 ConfigurationSection section = config.Sections[«connectionStrings»];
5
6 // Encripción
7 section.ProtectSection(«DataProtectionConfigurationProvider»);
8 config.Update();
9 }

Este pequeño segmento de código toma una sección específica del Web.Config y la encripta usando el DataProtectionConfigurationProvider. Recordemos que usamos el Provider Model, así que tenemos que especificar que proveedor se encargará de hacer esta encripción. También podemos extender estos modelos permitiendo así que tengamos una encripción personalizada de acuerdo con nuestras necesidades.

Para desencriptar la sección del Web.Config hacemos lo siguiente:

1 void ButtonDecryptClick(object sender, EventArgs e)
2 {
3 Configuration config = WebConfiguration.GetWebConfiguration(Request.ApplicationPath);
4 ConfigurationSection section = config.Sections[«connectionStrings»];
5
6 // Desencripción
7 section.UnProtectSection();
8 config.Update();
9 }

Como podemos ver, no es rocket-science. Muy sencillo de implementar y rápido.

Cheers!

 


Comentarios

Deja una respuesta