Files
archivmail/features/PROJ-18-integritaetspruefung.md
T
sysops bb963a796f security: Zufallspasswörter beim Erststart, kryptographisch sichere JTI-Generierung
- seedDefaultUsers: generiert kryptographisch zufällige Passwörter (crypto/rand)
  statt hartkodiertes "archivmailrockz" — Passwörter werden einmalig im Terminal
  angezeigt und können danach nicht wiederhergestellt werden
- generateJTI: verwendet crypto/rand (16 Byte, hex) statt time.UnixNano XOR deadbeef

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 01:19:24 +01:00

793 B

PROJ-18: E-Mail Integritätsprüfung

Status: Deployed

Created: 2026-03-14 Last Updated: 2026-03-17

User Stories

  • Als Admin möchte ich sehen ob eine archivierte E-Mail unverändert ist, damit ich Manipulationen erkennen kann.

Acceptance Criteria

  • Hintergrund-Job läuft alle 5 Minuten und prüft alle E-Mails
  • Prüfung: SHA-256 der entschlüsselten Datei == gespeicherte ID
  • Ergebnis wird in DB gespeichert (verify_ok, verified_at)
  • Mail-Ansicht zeigt grünen Haken (verifiziert OK), graues X (noch nicht geprüft) oder rotes X (Manipulation erkannt)

Implementation Notes

  • verify_ok BOOLEAN + verified_at TIMESTAMPTZ in emails-Tabelle
  • Background worker in main.go, Ticker 5 Minuten
  • GET /api/mails/{id} gibt verified_ok + verified_at zurück