2008-12-15 7 views
5

Aktualnie pracuję nad aplikacją komputerową, która wywołuje API strony trzeciej. Po autoryzacji na ich "usługę sieciową" zwracany jest rodzaj tokena użytkownika, który powinien być przechowywany lokalnie (nawet jeśli użytkownik zamknie aplikację).Bezpieczne przechowywanie tokenu uwierzytelniania przy użyciu .NET

Szukam rozwiązania do zaszyfrowania tego tokena za pomocą klucza użytkownika. Czy system Windows (i .NET) zapewnia pewien standardowy sposób robienia tego? Wszystko, czego chcę, to token ochrony od innych użytkowników tego samego komputera.

P.S. Nie mogę zapisać skrótu, ponieważ muszę odszyfrować ten token podczas uruchamiania.

Odpowiedz

5

Tak. Windows to zapewnia. Sprawdź DPAPI dostępną dla klasy .NET Framework o nazwie System.Security.Cryptography.ProtectedData (dostępne od wersji v2.0) w celu bezpiecznego przechowywania poufnych informacji.

+0

Dzięki, właśnie tego szukałem! – PiRX

2

Tak, istnieje liczba wbudowanych funkcji szyfrowania w .NET, wszystko zależy od tego, jak dokładnie chcesz to zrobić.

Oto good beginning article, który pokazuje niektóre z podstawowych elementów, klas i metod prowadzenia szyfrowanie w .NET

UWAGA: wszystkie potrzebne klas znajdują się w przestrzeni nazw System.Security.Cryptography

0

w czasie wykonywania można przechowywać klucz autoryzacji w SecureString ... aby go zapisać pomiędzy sesjami można użyć jednego z interfejsów API symmetric encryption w środowisku .NET.