Hallo,
in einer
Client-Server-Umgebung möchte ich, dass der Server dem Client eine Datei zur Verfügung stellt. Diese soll verschlüsselt werden. Dem Client werden dann nur der Name/Pfad der verschlüsselten Datei auf einem Fileserver und das Passwort übermittelt. Nun möchte ich aus Sicherheitsgründen auf dem Client die Datei nicht zwischenspeichern, sondern als TMemoryStream weiter verarbeiten.
Ich verwende dazu die
DEC und einen stark abgewandelten Code aus der Demo (
vergleichbar hiermit).
Das Verschlüsseln klappt. Wenn ich mit dem Server wieder entschlüssele, gibt es kein Problem. Wenn ich aber
mit dem Client das Entschlüsseln versuche, bekomme ich eine
Exception mit der Fehlermeldung "Class 89504E47 is not registered". Es hat auch nichts gebracht
Delphi-Quellcode:
Initialization
IdentityBase:=$89504E47;
einzufügen.
Ich gehe der Kommentierung nach davon aus, dass es daran liegt, dass nur ein und dasselbe Programm ver- bzw. entschlüsseln darf. Ich begreife nicht, wie ich den Code abändern kann/muss, damit es klappt. Zudem möchte ich (auch) gern sicherstellen, dass nur der passende Client dechiffriert.
Ich habe die von mir verwendete
Unit mal beigefügt. Diese wird
sowohl vom Server als auch vom Client verwendet. Es betrifft dort die Funktionen EncryptFile() und DecryptFile().
Danke für die Hinweise, Alex