2010-10-28 14 views
6

Escribo automatización de pruebas y scripts que requieren autenticación de Windows para acceder al dominio.
No me gusta mantenerlos en la aplicación.config porque están disponibles en texto sin formato.
No me gusta solicitar mensajes de entrada porque ya no está automatizado.
Si los codifico en el ensamblaje, son visibles desde .Net Reflector y se verifican en el control de fuente cuando confirmo los archivos .cs.
¿Hay algún patrón/práctica que facilite el uso de contraseñas y nombres de usuario configurados sin exponerlos?¿Cómo eliminar nombres de usuario y contraseñas del código fuente en Test Automation?

Esto también se aplica a los sitios web que tienen credenciales para iniciar sesión y las bases de datos utilizan autenticación de Windows o autenticación de servidor sql para conectarse.
Cualquier consejo sería muy apreciado.

Respuesta

1

Puede usar Convert.ToBase64String() y Convert.FromBase64String() con contraseñas codificadas para proporcionar una ofuscación básica.

Si realmente quiere algo más fuerte, use un symmetric-key algorithm como p. Ej. Blowfish, pero es excesivo y aún tendría que guardar la clave en algún lugar.

+0

Esto suena como una solución viable específicamente el cifrado y almacenamiento de la clave única en alguna parte la automatización tendría permiso para llegar. –

+0

Si puede almacenar la llave en algún lugar al que solo la herramienta de automatización tendría permiso, ¿no sería más fácil almacenar las contraseñas allí? – EKI

1

El proceso que ejecuta las pruebas podría hacerlo como un usuario autenticado. De esta forma, solo debe ingresar el nombre de usuario y la contraseña al configurar el servicio/tarea programada/etc. Por supuesto, si tiene que realmente ingresar credenciales como parte de la prueba, entonces esto no ayudará.

+0

Puede llevar esto un paso más allá y configurar un archivo cifrado en NTFS que contiene las contraseñas para los inicios de sesión del servidor SQL. La cuenta de usuario que ejecuta la tarea de programación podría leer los contenidos del archivo cifrado. Basándome en mi comprensión limitada del cifrado NTFS, puede configurarse para limitar el acceso a ese archivo desde otras cuentas. – poke

+0

O el usuario de la prueba podría simplemente conectarse a las bases de datos SQL usando la autenticación de Windows; De esa forma, no tienes que leer ninguna contraseña. – Jacob

Cuestiones relacionadas