Principales respuestas
encriptar conection string del app.config

Pregunta
-
Respuestas
-
el archiv .config desencriptado tomando el valor y encriptarlo de nuevo?
para nada, solo aplicas la tecnica para encriptar la seccion del .config
la desencriptacion es automatica, solo al tomar la seccion lo desencripta
hay alguna manera de tomar el valor ecncriptado y descriptarlo para poderlo tomar en mis variables de conexion sin modificar fisicamente el archivo .config.
creo que no ash analziado del todo la informacion, porque si realizas pruebas veras quee s asi como trabaja
usa algo como ser
Configuration conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); conf.ConnectionStrings.SectionInformation.ProtectSection("DataProtectionConfigurationProvider") conf.Save();
y despues solo usasConnectionsStringSettings connstring = ConfigurationManager.ConnectionString["Conexion"];
esto solo sabra que la seccion esta encriptada y lo desencriptara recuperando los datossaludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta cbolivar82 viernes, 9 de septiembre de 2011 12:10
Todas las respuestas
-
-
Ahora bien, el procedimiento normal es encriptar el conectionstring. y cuando lo necesito utilizar a nivel de ejecucion de la app (codigo) tengo que modificar el archiv .config desencriptado tomando el valor y encriptarlo de nuevo?
hay alguna manera de tomar el valor ecncriptado y descriptarlo para poderlo tomar en mis variables de conexion sin modificar fisicamente el archivo .config..
-
el archiv .config desencriptado tomando el valor y encriptarlo de nuevo?
para nada, solo aplicas la tecnica para encriptar la seccion del .config
la desencriptacion es automatica, solo al tomar la seccion lo desencripta
hay alguna manera de tomar el valor ecncriptado y descriptarlo para poderlo tomar en mis variables de conexion sin modificar fisicamente el archivo .config.
creo que no ash analziado del todo la informacion, porque si realizas pruebas veras quee s asi como trabaja
usa algo como ser
Configuration conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); conf.ConnectionStrings.SectionInformation.ProtectSection("DataProtectionConfigurationProvider") conf.Save();
y despues solo usasConnectionsStringSettings connstring = ConfigurationManager.ConnectionString["Conexion"];
esto solo sabra que la seccion esta encriptada y lo desencriptara recuperando los datossaludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta cbolivar82 viernes, 9 de septiembre de 2011 12:10
-
Muchas graciaa leandro! de verdad ahora si lo entendi, pero me surgue otro inconveniente.
El caso es que si tu como programador ves mi conection string y ves que es del proveedor "DataProtectionConfigurationProvider" o "RSAProtectedConfigurationProvider", en ambos casos puedes desescriptar el conection string.
De que manera puedo implementarle mayor seguridad?
Nota: se que con el "RSAProtectedConfigurationProvider" se puede colocar una llave, pero dicha llave no se como cambiarla y que no aparesca en el app.config.
-
De que manera puedo implementarle mayor seguridad?
es que en realidad no lo vez, se supone que las lineas que encriptan debenerian solo eejcutarse una sola vez, quizas en la instalacion, ya que si usas DataProtectionConfigurationProvider la key de enciptacion es puntual para cada pc
luego solo se lee, pero eso es por codigo
puede que entonces tu caso no sea bueno usar DataProtectionConfigurationProvide ,sino el RSA asi controlas previamente la encriptacion
se que con el "RSAProtectedConfigurationProvider" se puede colocar una llave, pero dicha llave no se como cambiarla
en realidad no se cambia, sino que se exporta, o sea la primera vez genera sy suas para enciptar, luego en cada pc solo la instalas
Importing and Exporting Protected Configuration RSA Key Containers
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina