Está en la página 1de 10

Programacin en ASP.Net 3.

5 y Acceso a Datos con Microsoft SQL Server 2008

Encriptado y Desencriptado una cadena de Conexin


En la mayora de los desarrollos es necesario tener un motor de bases de datos, ya sea Access, SQL, MySQL u Oracle, por mencionar algunos de los ms populares, de manera que Objetivos: en nuestro cdigo necesitamos la palabra Leer el archivo de configuracin. secreta o ms bien la cadena de conexin que nos va a indicar el tipo de base de datos, la Leer secciones del archivo de configuracin. localizacin y, en la mayora de las ocasiones, Utilizacin de la consola de visual Basic. el usuario y contrasea requeridos, todo esto Encriptar una cadena de conexin. encaminado a establecer una conexin con el Desencriptar una cadena de conexin. motor de bases de datos. Captulo IV Encriptado y Desencriptado una cadena de conexin

Presentacin del Caso a Estudiar

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008

Archivo de Configuraciones
Donde Guardar la Cadena de Conexin (ConectionStrings)?
En la mayora de los desarrollos es necesario tener un motor de bases de datos, ya sea Access, SQL, MySQL u Oracle, por mencionar algunos de los ms populares, de manera que en nuestro cdigo necesitamos la palabra secreta o ms bien la cadena de conexin que nos va a indicar el tipo de base de datos, la localizacin y, en la mayora de las ocasiones, el usuario y contrasea requeridos, todo esto encaminado a establecer una conexin con el motor de bases de datos. Una prctica comn es el NO divulgar nuestras cadenas de conexin, as como tampoco tenerlas dentro de un archivo fuente, y de preferencia tenerlas en un solo lugar de manera que si algn cambio es necesario se pueda corregir rpida y fcilmente. Estas prcticas comunes son fciles de seguir en las aplicaciones .NET, sobre todo en la versin 2.0, lo que normalmente se hace es guardar la cadena de conexin en los archivos de configuracin de la aplicacin, por ejemplo, si es una aplicacin Web, entonces hay que guardarla en el Web.config.

Leer el Archivo de configuracion


1. Archivo > Nuevo > Sitio Web.

2. En ubicacin seleccionar http. 3. Luego hacer clic en el boton Examinar. Captulo IV Encriptado y Desencriptado una cadena de conexin Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 4. Hacer clic en boton con el nombre de Crear Nuevo Directorio virtual.

5. Aparecera un cuadro de dialogo llamado nuevo directorio virtual. 6. En alias asignar el nombre de ImportacionesNet. 7. Hacer clic en la carpeta examinar. Captulo IV Encriptado y Desencriptado una cadena de conexin

8. Seelccionar la carpeta que contendra nuestra aplicacion.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 9. Hacer clic en aceptar y luego seelccionar el nuevo directorio virtual con el nombre de ImportacionesNet.

10. Como usted puede observar se muestra la ruta de la aplicacin. 11. Finalmente hacer clic en aceptar. Captulo IV Encriptado y Desencriptado una cadena de conexin Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 12. Dentro del explorador de Soluciones hacer doble clic en el web.config.

13. Ubicarse en la seccion llamada appSettings. <appSettings/> 14. Modificar dicha seccion de la siguiente forma. <appSettings> <!--Agregar Secciones--> </appSettings> 15. Agregar la siguiente llave dentro de la seccion mencionada. <appSettings> <!--Agregar Secciones--> <add key="Nombre de Usuario" value="Diego Cueva Valverde"/> </appSettings> Captulo IV Encriptado y Desencriptado una cadena de conexin 16. Abrir la pagina con el nombre Default.aspx. 17. agregar los siguientes controles.

18. Digitar el siguiente script dentro del boton. Dim leer As String = ConfigurationManager.AppSettings("Nombre de Usuario").ToString Me.lblResultado.Text = leer 19. Ejecutar la aplicacin(Pulsar la Tecla F5). 20. Aparecera un cuadro de dialogo indicando que se modificara el archivo de configuraciones, para la ejecucion.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008

21. Hacer clic en el boton que se encuentra dentro de la pagina. 22. Como usted puede apreciar se visualiza el contenido de la seccion agregada en el web.config.

<connectionStrings/> 26. Modificar la seccion connectionStrings. <connectionStrings> <!--Agregar cadena de Conexion--> </connectionStrings> 27. Agregar la siguiente cadena de conexin dentro de esta seccion. <connectionStrings> <add name="cn" connectionString="Data Source=.;database=poseidon;integrated security=true"/> </connectionStrings> 28. Abrir la pagina con el nombre Default.aspx. 29. agregar los siguiente control.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Captulo IV Encriptado y Desencriptado una cadena de conexin

23. Detener la aplicacin. 24. Abrir el archivo de configuraciones. 25. Ubicar la seccion connectionStrings.

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008

30. Digitar el siguiente script dentro del nuevo boton. Dim LeerCadena As String = ConfigurationManager.ConnectionStrings("cn").ToString Me.lblResultado.Text = LeerCadena 31. Ejecutar la aplicacin(Pulsar la Tecla F5). 32. Hacer clic en el nuevo boton agregado.

Encriptar y Desencriptar una Cadena de Conexin


En ciertos escenarios es requerido [y en general, recomendado] Encriptar informacin sensible en los archivos .c config, como pueden ser conectionStrings o determinadas keys propias de configuracin. Captulo IV Encriptado y Desencriptado una cadena de conexin En este sentido a partir de la versin 2.0 incorpora un mecanismo [comando aspnet_regiis] a travs del cual de forma "trasparente" permite Encriptar secciones en el archivo Web.config. La realidad es que esto tambin con una "pisada" [aka "tip"] puede aprovecharse para Encriptar secciones en un App.config de una aplicacin SmartClient. Cul es el procedimiento? Por ejemplo, para Encriptar la seccin de conectionStrings dentro de un App.config, tenemos que abrir la consola de VS, ubicarnos dentro del mismo directorio donde se encuentra el App.config y ejecutar las siguientes instrucciones: Copy App.config App.Config.original. Rename App.config Web.config. aspnet_regiis -pef conectionStrings. -prov DataProtectionConfigurationProvider. Rename Web.config App.config.

Puedes especificar el tipo de cifrado que quiere seleccionando el proveedor apropiado de la lista de proveedores de cifrado disponibles. El marco de trabajo .NET incluye dos proveedores predefinidos.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008 RSAProtectedConfigurationProvider.- Proveedor predeterminado, utiliza el algoritmo de cifrado RSA para cifrar y descifrar datos. DPAPIProtectorConfigurationProvider.- utiliza el API de proteccin de datos de Windows (DPAPI) para cifrar y descifrar datos.

Encriptar y Desencriptar una Cadena de Conexin, utilizando la consola de Visual Basic


1. Ingresar a la consola de visual Basic.

2. Como usted puede apreciar se puede visualizar una aplicacin en consola.

3. Digitar el siguiente cdigo dentro de la consola. aspnet_regiis.exe -pe "connectionStrings" -app "/ImportacionesNet" -prov "DataProtectionConfigurationProvider" -pe.- hace referencia a la seccin que se va a Encriptar. -app.- hace referencia al directorio virtual de la aplicacin. -prov.- hace referencia al tipo de Encriptacin.

4. Dentro de la consola tiene que aparecer un mensaje indicando que se ha cifrado con xito.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Captulo IV Encriptado y Desencriptado una cadena de conexin

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008

5. Abrir la aplicacin web con el nombre ImportacionesNet. 6. Como usted puede apreciar aparecer un mensaje indicando que el archivo de configuraciones ha sido modificado fuera de la aplicacin. 7. Hacer clic en si a todo.

8. Abrir el archivo de configuracin de la aplicacin ImportacionesNet. 9. Como usted puede observar se ha encriptado la seccin ConectionStrings. <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider"> <EncryptedData> <CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAzOHUGOvV6kmipFBjaCK2FgQAAAACAAAAAAADZg AAqAAAABAAAADX9lI0m+UzcWirllNk/3K9AAAAAASAAACgAAAAEAAAAMLoKvgzag+tj7Ur+t64xfAgAQAA7x9 t3GZb/0wD/XL3Ttw7EKmM/6j6EDCeTa2LdMQKrVV4rxx/SodIJebVBe/gaO5ZSw0uLIDSihNz4KVsUiDNc7HtAU 6o5tWsCm1pE58W14SkSh7UEqUjbc4kA+nzSrT0J2nweZcxiTokxTcfvAS2sFQ5AnNTgGyvzM7/spu/4IchhKzOHJ EBLeNnv61ivTbJjTiqk0cZ4zW61o+XBb3gCVh36+YW2fQFsuVoiQgoM4kihLvYhejUzRsAj/+lLDwmqsiuSzp2hm0 3GHlW5HnrONRIh05IdDDCVsv8SdcbUS9F60pPXUZa9A3SzqYR85mJuGqi3UFkZZwocJQVCc3PT2iJqxX+fzKxXh NdY+B9j2TBG9EQWr7E5V7kSUYPmU0mFAAAAMWYzW+UaceOMg102L3kZFj8KSJL</CipherValue> </CipherData> </EncryptedData> </connectionStrings> 10. Digitar el siguiente cdigo dentro de la consola. aspnet_regiis.exe -pd "connectionStrings" -app "/ ImportacionesNet " -pd.- hace referencia al descifrado. -app.- hace referencia al directorio virtual de la aplicacin.

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

Captulo IV Encriptado y Desencriptado una cadena de conexin

Programacin en ASP.Net 3.5 y Acceso a Datos con Microsoft SQL Server 2008

11. Dentro de la consola tiene que aparecer un mensaje indicando que se ha Descifrado con xito. 12. Abrir la aplicacin web con el nombre ImportacionesNet. 13. Como usted puede apreciar aparecer un mensaje indicando que el archivo de configuraciones ha sido modificado fuera de la aplicacin. 14. Hacer clic en si a todo.

15. Abrir el archivo de configuracin de la aplicacin ImportacionesNet. 16. Como usted puede observar se ha descifrado la seccin ConectionStrings. Captulo IV Encriptado y Desencriptado una cadena de conexin <connectionStrings> <add name="cn" connectionString="Data Source=.;database=poseidon;integrated security=true" /> </connectionStrings>

Instructor: Cueva Valverde Diego Alberto / DCE DCEG DCEP MCTS / dce.diegocueva@gmail.com

10

También podría gustarte