C# XML Datei mit X.509 ver- und entschlüsseln

Mathias09876

Ensign
Registriert
Nov. 2010
Beiträge
235
Hallo zusammen,

ich versuche gerade eine XML-Datei mit Hilfe eines X.509 Zertifikates zu verschlüsseln.

Das Zertifikat habe ich mittels makecert erstellt. Die Funktionen zum Ver- und Entschlüsseln habe ich von folgenden MSDN Artikeln: Verschlüsseln Entschlüsseln

Wenn ich das Zertifikat aus dem Store auslese funktioniert soweit auch beides. Mein Plan ist nun allerdings, dass das Programm auf einem anderen Rechner laufen soll. Dazu habe ich das Zertifikat einmal als .cer und einmal als .pfx exportiert.

Die Methode zum Verschlüsseln habe ich entsprechend angepasst, dass das Zertifikat aus der Datei geladen wird. Das funktioniert soweit auch einwandfrei. Allerdings habe ich jetzt ein Problem mit dem entschlüsseln. Hier habe ich die Methode erst einmal nicht geändert, bzw. weiß nicht, wie ich sie ändern muss. Ich bekomme auf jeden Fall folgende Fehlermeldung: "Der Entschlüsselungsschlüssel kann nicht abgerufen werden"

Meine Frage ist nun, wie muss ich der Entschlüsselungsmethode die Zertifikatsdatei übergeben? Das Zertifikat befindet sich ja nicht mehr im Speicher. Oder habe ich einen Denkfehler gemacht und muss eh einen anderen Ansatz wählen das Zertifikat weiterzugeben?

Grüße,
Mathias
 
Das ist so nicht gedacht. Das Zertifikat muss erst dem Zertifikatsspeicher übergeben werden. Beim Entschlüsseln durchsucht er dann automatisch den Speicher auf das passende Zertifikat.
 
Das heißt quasi ich muss bei Start des Programms prüfen, ob das Zertifikat bereits im Speicher ist und wenn nicht kann ich es aus der Datei in den Speicher laden und dann die Datei entschlüsseln lassen oder?
 
Exakt. ;)

Das hat auch den Vorteil, falls ein unbedarfter User den Speicher mal leert oder nur das eine Zertifikat killt, dass dein Programm dann selbstständig den Schaden repariert.
 
Zurück
Oben