Quiero almacenar de forma segura una contraseña de texto claro en una PC con Windows. Actualmente estoy usando DPAPI CryptProtectData
para encriptarlo, luego almaceno el blob cifrado en un archivo en el AppData local del usuario.¿Cómo guardo y recupero las credenciales del administrador de credenciales de Windows Vault?
En Windows 7, hay Windows Vault, un administrador de credenciales (Panel de control \ Cuentas de usuario y Seguridad familiar \ Administrador de credenciales) que almacena datos de inicio de sesión para una variedad de tipos de inicio de sesión, incluida "credencial genérica". En la superficie, este parece el lugar correcto para que un programa almacene credenciales. Sin embargo, no pude encontrar ninguna API para ello. Leí Authentication function referencia en MSDN, pero francamente me perdí en él.
¿Existe una API para Windows Vault para almacenar y recuperar credenciales de un programa y, en caso afirmativo, dónde puedo encontrar la documentación?
Parece CredWrite(), CredRead(), et al en la sección Funciones de administración de credenciales. – Luke
Actualmente estoy buscando soluciones para almacenar las credenciales del usuario. ¿Podría decirme por qué decidió pasar de almacenar el blob cifrado de CryptProtectData a Windows Vault? Más seguridad? Parece menos portátil para las versiones anteriores de Windows (pero por el momento, no estoy seguro de que me importe). – BSchlinker
Al igual que BSchlinker, no entiendo lo que esto nos está ganando. ¿Cómo es esto más seguro que almacenar en el sistema de archivos? – Sammi