Posterior a de nuestra extensa compilación de información hemos podido resolver este apuro que presentan algunos los lectores. Te dejamos la solución y deseamos que sea de gran ayuda.
Solución:
- Secciones de configuración de cifrado y descifrado (ASP.NET) en MSDN
- Cifrado de valores Web.Config en ASP.NET 2.0 en el blog de ScottGu
- Cifrado de secciones de configuración personalizada en el blog de K. Scott Allen
EDITAR:
Si no puede usar la utilidad ASP, puede cifrar el archivo de configuración usando el método SectionInformation.ProtectSection.
Muestra en codeproject:
Cifrado de cadenas de conexión dentro de Web.config en ASP.Net 2.0
Si bien a primera vista parece ser sencillo, hay un par de obstáculos que encontré.
Así que estoy proporcionando pasos que funcionaron bien para mí (para encriptar el Ajustes de Aplicacion sección) utilizando el proveedor de cifrado predeterminado:
cifrar secciones en el web.config:
- Abra el shell de comandos de administración (ejecutar como administrador!). El símbolo del sistema estará encendido
C:
que se supone para los pasos a continuación.
Además se supone que la aplicación se implementa enD:AppsmyApp
– reemplace esto por la ruta que está usando en paso 3. cd "C:WindowsMicrosoft.NETFramework64v4.0.30319"
en uso de sistemas Windows de 32 bitsFramework
en vez deFramework64
cd /D "D:AppsmyApp"
Nota: los/D
cambiará la unidad automáticamente si es diferente de su unidad actual. Aquí cambiará la ruta y la unidad, por lo que el directorio actual seráD:AppsmyApp
después.c:aspnet_regiis -pef appConfig .
Deberías ver este mensaje:
Microsoft (R) ASP.NET RegIIS versión 4.0.30319.0 Utilidad de administración para instalar y desinstalar ASP.NET en la máquina local. Derechos de autor (C) Microsoft Corporation. Reservados todos los derechos. Encriptando la sección de configuración… ¡Exitoso!
Tú también puedes descifrar secciones en web.config: estos son los mismos pasos, pero con la opción -pdf
en vez de -pef
para aspnet_regiis.
También es posible cifrar otras secciones de su web.config, por ejemplo, puede cifrar las cadenas de conexión sección a través de:
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"
Más detalles al respecto se pueden encontrar aquí.
Nota: El cifrado anterior es transparente a su aplicación web, es decir, su aplicación web no reconoce que la configuración está encriptada.
También puede optar por utilizar no transparente cifrado, por ejemplo, mediante el uso de DPAPI de Microsoft o mediante el uso de AES junto con la clase AES de Framework.
como se hace con DPAPI He descrito aquí en Stackoverflow. DPAPI funciona de manera muy similar en el sentido de que utiliza la credencial de la máquina o del usuario keys. En general, cifrado no transparente le da más control, por ejemplo, puede agregar un SALT, o puede usar un key basado en la frase de contraseña de un usuario. Si quieres saber más sobre cómo generar un key de una frase de contraseña, mira aquí.
Si te ha resultado provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con más desarrolladores así nos ayudas a difundir nuestro contenido.