2008-12-15 31 views
5

Actualmente estoy trabajando en una aplicación de escritorio que llama a una API de terceros. Después de autorizar en contra de su "servicio web", se devuelve un tipo de token de usuario que debe almacenarse localmente (incluso si el usuario cierra la aplicación).Almacenamiento seguro de token de autenticación con .NET

Así que estoy buscando una solución para cifrar este token con la clave específica del usuario. ¿Proporciona Windows (y .NET) alguna forma estándar para hacer esto? Todo lo que quiero es proteger el token de otros usuarios de la misma computadora.

P.S. No puedo almacenar hash, ya que necesito descifrar este token al inicio.

Respuesta

5

Sí. Windows lo proporciona. Consulte DPAPI al que se puede acceder mediante la clase System.Security.Cryptography.ProtectedData de .NET Framework (disponible desde v2.0) para almacenar de forma segura la información confidencial.

+0

¡Gracias, eso era exactamente lo que estaba buscando! – PiRX

2

Sí, hay un número integrado de funciones para el cifrado en .NET, todo depende exactamente de cómo lo desee.

Aquí es una good beginning article, que muestra algunos de los elementos básicos, clases y métodos de hacer la encriptación en .NET

NOTA: todas las clases necesarias se encuentran en el espacio de nombres System.Security.Cryptography

0

en tiempo de ejecución, puede almacenar la clave de autenticación en un SecureString ... para almacenarla entre sesiones, puede usar una de las API symmetric encryption en .NET framework.

Cuestiones relacionadas