Encriptación Web.Config

Duplicar los archivos de configuración de cifrado para el despliegue .NET y cifrar los archivos de configuración para la implementación


¿Cuál es el mejor enfoque y herramientas para cifrar información en el archivo web.config?

Creo que hay dos formas de hacer esto:

usando aspnet_regiis usando DPAPI o RSA , o haciéndolo programáticamente .

La forma programática puede ser útil, especialmente si también te gusta encriptar app.config.

A partir de mis experiencias de uso de esto, si escribe una sección de configuración personalizada, debe instalar el archivo DLL que contiene las clases para esa sección en el GAC. Para un proyecto en el que estaba trabajando, básicamente escribí el siguiente enfoque:

  • Copie la DLL de configuración a GAC.
  • Realizar el cifrado
  • Eliminar la DLL de configuración de GAC.

Lo más probable es que si solo está encriptando cadenas de conexión, esto no será un problema. También debe tener en cuenta si desea encriptar a nivel de máquina o a una cuenta de usuario específica; ambas opciones pueden ser útiles dependiendo de su escenario. Para simplificar, me apegué a la encriptación de toda la máquina. Los enlaces que he proporcionado explican los méritos de ambos enfoques.

Aquí están los comandos para encriptar el archivo web.config sin ninguna progtwigción …

Para el cifrado

aspnet_regiis -pef "Section" "Path exluding web.config" 

Para descifrar

 aspnet_regiis -pdf "Section" "Path exluding web.config" 

A partir de estos comandos, puede cifrar o descifrar toda la sección.

Use la herramienta aspnet_regiis en su directorio framework:

  -- CONFIGURATION ENCRYPTION OPTIONS -- pe section Encrypt the configuration section. Optional arguments: [-prov provider] Use this provider to encrypt. [-app virtual-path] Encrypt at this virtual path. Virtual path must begin with a forward slash. If it is '/', then it refers to the root of the site. If -app is not specified, the root web.config will be encrypted. [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the default web site will be used. [-location sub-path] Location sub path. [-pkm] Encrypt/decrypt the machine.config instead of web.config. pd section Decrypt the configuration section. Optional arguments: [-app virtual-path] Decrypt at this virtual path. Virtual path must begin with a forward slash. If it is '/', then it refers to the root of the site. If -app is not specified, the root web.config will be decrypted. [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the default web site will be used. [-location sub-path] Location sub path. [-pkm] Encrypt/decrypt the machine.config instead of web.config. 

Debe comenzar desde aquí, una guía paso a paso, fácil de seguir y bien explicada en MSDN: Cómo: Cifrar las secciones de configuración en ASP.NET 2.0 usando DPAPI

Utilice la herramienta de línea de comandos aspnet_regiis.exe

También puede cifrar y descifrar secciones en el archivo Web.config utilizando la herramienta de línea de comandos aspnet_regiis.exe, que se puede encontrar en el directorio% WINDOWSDIR% \ Microsoft.Net \ Framework \ version.

Mira aquí: http://aspnet.4guysfromrolla.com/articles/021506-1.aspx .