Ich muss verschlüsselte Daten (einige kleine Strings) zwischen den Anwendungen läuft. Ich möchte nicht, dass der Benutzer jedes Mal, wenn er die Anwendung startet, eine Passphrase bereitstellt. I.e. Schließlich geht es darum, den/die Verschlüsselungsschlüssel sicher zu speichern.Persistente Speicherung von verschlüsselten Daten mit. NET
Ich war auf der Suche in RSACryptoServiceProvider und mit PersistentKeyInCsp, aber ich bin nicht sicher, wie es funktioniert. Ist der Schlüsselcontainer zwischen Anwendungsläufen oder Neustarts von Maschinen persistent? Wenn ja, ist es benutzerspezifisch oder maschinenspezifisch. I.e. Wenn ich meine verschlüsselten Daten im Roaming-Profil des Benutzers speichere, kann ich die Daten entschlüsseln, wenn sich der Benutzer auf einem anderen Computer anmeldet?
Wenn die oben nicht funktioniert, was sind meine Optionen (Ich brauche mit Roaming-Profile beschäftigen).
Gerade für die Nachwelt, werden Sie in anderen Code suchen, um zu handhaben es irgendwo mehr „public“ (zumindest im Intranet zum Beispiel) persistierende, so dass sie, um es aus andere Maschinen. Normalerweise können Sie Environment.SpecialFolder.ApplicationData verwenden, um einen maschinen- und benutzerspezifischen Speicherort zu ermitteln. –
Danke für die Antwort, das sollte funktionieren. Hast du eine Idee, wie das in 1.1 gemacht werden kann? ProtectedData ist neu für .Net 2.0 –
Um DPAPI in .NET 1.1 verwenden zu können, müssen Sie P/Invoke verwenden.Sehen Sie hier für eine ziemlich vollständige Durchlauf: http://msdn.microsoft.com/en-us/library/aa302402.aspx –