Ein eigenes SSL-Zertifikat erzeugen und signieren

Ein Zertifikat kann aus vielen Gründen benötigt werden. Ein Grund wäre z.B. eine verschlüsselte Verbindung zwischen Server und Client im Web-Bereich. Hier ist das „Protokoll“ HTTPS sehr weit verbreitet. HTTPS bedeutet quasi nur HTTP mit SSL. Andere Anwendungsbeispiele sind zum Beispiel abgesicherte Mail-Server mit einer SSL/TLS Kommunikation für IMAP, POP3 und SMTP. Und es ist auch gar nicht mal so aufwändig eigene Zertifikate zu erzeugen, um die gesicherte Kommunikation nutzen zu können. Hierbei wird jedoch zwischen selbst erstellten und signierten Zertifikaten und gekauften Zertifkaten unterschieden. Weiterlesen

Zeichenketten Verschlüsselt im Arbeitsspeicher

Wer sieht schon gerne seine Daten als Klartext im Speicher, so dass diese von jedem Programm genutzt werden können? Seit .NET 2.0 gibt es für Zeichenketten eine Abhilfe, denn die Klasse „SecureString“ sorgt genau dafür, dass die Daten mithilfe der DPAPI (Data Protection API) verschlüsselt im Speicher laden. Diese API sorgt dafür, dass die Daten erst beim erneuten Zugriff durch das ablegende Programm entschlüsselt werden. Um dies zu erzielen, kann eine einfache Methode implementiert werden, welche aus einem String ein SecureString Object erzeugt.

Zunächst einmal benötigen wir zwei Using-Directives, um die nötigen Methoden zur Verfügung gestellt zu bekommen. Diese wären Folgende:

using System.Security; 
using System.Runtime.InteropServices;

Anschließend können wir nun die Methode implementieren. Bevor wir dies jedoch tun, sollten wir in unserem Projekt die Verwendung von unsicherem Code zulassen, dies geschieht über die Projekteigenschaften. Weiterlesen