Wie die meisten Objekte im .NET-Framework, stellt auch die Securestring-Klasse eine Tostring-Methode bereit. Allerdings ist die Tostring-Methode aus der Systemobject-Klasse abgeleitet und in Securestring nicht außer Kraft gesetzt. In der Folge wird, wenn man die Tostring-Methode der Securestring-Klasse aufruft, lediglich der Objekttyp angezeigt (System.Security.Securestring), aber keine tatsächlichen Daten.
Das Komplizierte an der Arbeit mit der Securestring-Klasse ist das Abrufen der darin gespeicherten Daten. Da hier die Cryptography Services von Windows genutzt werden, muss der System.Runtime-Namensraum genutzt werden. Die folgende C#-Zeile ist der erste Schritt zum Abrufen des Wertes. Sie kopiert den Inhalt der Securestring-Klasse in ein langes Pointer-Objekt.
Wenn das Pointer-Objekt bestückt ist, wird der Pointer über die System.Runtime.Interopservices.Marshal-Klasse in eine Zeichenfolge umgewandelt, wie es der folgende C#-Code tut:
Das Microsoft-Handbuch gibt an, dass bei der Umwandlung des Objekts in einen Pointer der für eine Zeichenfolge benötigte, nicht verwalte Speicher zugewiesen wird – man sollte also stets das Pointer-Objekt durch Aufrufen der Zerofree-BSTR-Methode freisetzen, wie dies mit dem folgenden C#-Code geschieht:
System.Runtime.InteropServices.Marshal.ZeroFreeBSTR(bstr);
Um den Inhalt zu speichern und anzuzeigen, verbindet der folgende C#-Code das Beispiel zur Ablage von Daten in einem Securestring-Objekt mit dem Aufrufen.
Listing C
Es folgt der entsprechende VB.NET-Code:
Listing D
Daten mit Securestring schützen
Die Securestring-Klasse bietet die Funktionen, die man benötigt, um innerhalb einer .NET-Anwendung mit sensiblen Daten arbeiten zu können. Zur Verschlüsselung der Daten müssen weder die Cryptography Services noch besonders umfangreicher Code verwendet werden. Die Securestring-Klasse erlaubt es auch, auf der Windows-Plattform in einfacher Weise Zeichenfolgen zu speichern und abzurufen. Das ist ein großer Vorteil, da die String-Klasse für die Arbeit mit sensiblen Daten nicht sehr attraktiv ist.
Neueste Kommentare
Noch keine Kommentare zu Securestring-Klasse: Sensible Daten in .NET 2.0 besser schützen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.