feat(schluessel): Private Key anzeigen, herunterladen, loeschen (#014)
Admins koennen einen gespeicherten Private Key nach frischer Bestaetigung einmalig anzeigen oder als Datei <slug> herunterladen und ihn endgueltig aus SSHKeyVault loeschen. Warum so: - Der Web-Prozess hat keinen Master-Key. Er bittet den Worker per Vorgang, den Key zu oeffnen; der legt ihn mit SSHKV_APP_SECRET verschluesselt in Vorgang.ergebnis ab. Das Web holt ihn genau einmal ab: ein einziges UPDATE unter Zeilensperre liest und ueberschreibt. - Nicht abgeholte Keys verfallen nach zwei Minuten: Worker-Takt alle 30 s, Aufraeumen vor jeder Abholung, und das Web gibt aeltere nicht mehr heraus. Die Status-Schnittstelle zeigt nur "bereit". - Download nur per POST (ein GET-Link oder Vorabruf wuerde die Abholung verbrauchen), no-store, Herkunft per Sec-Fetch-Site, weil no-referrer bei Formular-POSTs Origin: null sendet. - Loeschen laeuft als Worker-Vorgang, damit nur geheimnisse.ts die Chiffrat-Felder anfasst; eigenes Recht privateKeyLoeschen mit Bestaetigung. Deployment-Keys gibt sshkv weder heraus noch loescht es sie. - Protokoll: angefordert, angezeigt, heruntergeladen, geloescht - mit Fingerprint, nie mit Key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,11 @@ export const KOMMENTAR_MAX = 200;
|
||||
/** Ein OpenSSH-Private-Key mit RSA-16384 bleibt unter 16 KiB; mehr ist kein Schluessel. */
|
||||
export const PRIVATE_KEY_MAX = 16 * 1024;
|
||||
export const PASSPHRASE_MAX = 1024;
|
||||
/**
|
||||
* Wie lange ein vom Worker geoeffneter Private Key zur Abholung bereitliegt (#014). Worker
|
||||
* (Aufraeumen) und Web (Abholen) pruefen dieselbe Frist.
|
||||
*/
|
||||
export const ABHOLFRIST_MS = 2 * 60 * 1000;
|
||||
/** Ab hier wird ein Ablaufdatum in Messing hervorgehoben. */
|
||||
export const ABLAUF_WARNUNG_TAGE = 30;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user