2.0 KiB
2.0 KiB
Daten-Neuverschlüsselung
Dieses Script verschlüsselt alle verschlüsselten Daten mit einem neuen Schlüssel neu.
Verwendung
Voraussetzungen
-
Stelle sicher, dass
ENCRYPTION_KEYin der.envDatei gesetzt ist:ENCRYPTION_KEY=dein-neuer-sicherer-schlüssel-hier -
Optional: Wenn du einen spezifischen alten Schlüssel verwendest (nicht den Standard), kannst du ihn angeben:
node scripts/re-encrypt-data.js --old-key="dein-alter-schlüssel"
Ausführung
node scripts/re-encrypt-data.js
Was wird neu verschlüsselt?
Das Script verarbeitet folgende Dateien:
server/data/users.json- Benutzerdatenserver/data/members.json- Mitgliederdatenserver/data/membership-applications/*.json- Mitgliedschaftsanträge (wenn sie einencryptedDataFeld enthalten)server/data/membership-applications/*.data- Verschlüsselte Antragsdaten
Sicherheit
- Automatische Backups: Vor jeder Änderung werden Backups im Verzeichnis
backups/re-encrypt-<timestamp>/erstellt - Mehrere Schlüssel: Das Script versucht automatisch verschiedene alte Standard-Schlüssel:
default-key-change-in-productionlocal_development_encryption_key_change_in_production- Ein optional angegebener
--old-keyParameter
Beispiel
# Standard-Ausführung (verwendet Standard-Entwicklungsschlüssel)
node scripts/re-encrypt-data.js
# Mit spezifischem altem Schlüssel
node scripts/re-encrypt-data.js --old-key="mein-alter-produktions-schlüssel"
Fehlerbehandlung
Falls die Entschlüsselung mit allen verfügbaren Schlüsseln fehlschlägt:
- Das Script bricht ab
- Alle Backups bleiben erhalten
- Du kannst die Dateien manuell aus den Backups wiederherstellen
Wichtig
⚠️ WICHTIG: Stelle sicher, dass:
- Die
.envDatei den neuenENCRYPTION_KEYenthält - Du ein Backup der Daten hast (wird automatisch erstellt)
- Der Server während der Ausführung nicht läuft
- Du nach der Ausführung testest, ob alles funktioniert