Bauplan Schritt 1 (platform-docs roadmap/veyon-schluesselverteilung- diskussion-2026-10-14.md). Paar beim ersten Bedarf erzeugt (RSA 4096, PKCS#8/SPKI-PEM wie veyon-cli), privat Fernet-verschluesselt. Optionen: veyon_schluesselname, veyon_public_pem, veyon_raum, veyon_lehrer; nur Lehrergeraete zusaetzlich veyon_private_pem und veyon_rechner (<hostname>.local, ohne sich selbst). Lehrer = Haekchen veyon_lehrer an irgendeiner aktiven Gruppe. Fehler brechen den Check-in nicht ab. Getestet gegen eine Wegwerf-Datenbank mit allen Migrationen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
804 B
PL/PgSQL
20 lines
804 B
PL/PgSQL
BEGIN;
|
|
|
|
-- Veyon-Schluessel je OE (15.10.2026, platform-docs
|
|
-- roadmap/veyon-schluesselverteilung-diskussion-2026-10-14.md, Bauplan
|
|
-- Schritt 1). Ein Schluesselpaar je OE (= Raum), erzeugt beim ersten
|
|
-- Check-in eines Geraets dieser OE mit aktivem Merkmal "veyon". Der private
|
|
-- Schluessel liegt Fernet-verschluesselt (TUXFLOTTE_ENCRYPTION_KEY, wie die
|
|
-- _passwort-Optionen) und geht beim Check-in nur an Lehrergeraete.
|
|
-- name: nur Buchstaben (Veyon-Vorgabe), siehe veyon_schluesselname().
|
|
|
|
CREATE TABLE veyon_schluessel (
|
|
oe_id UUID PRIMARY KEY REFERENCES organisationseinheiten(id) ON DELETE CASCADE,
|
|
name TEXT NOT NULL UNIQUE CHECK (name ~ '^[a-z]+$'),
|
|
public_pem TEXT NOT NULL,
|
|
private_pem_encrypted TEXT NOT NULL,
|
|
erstellt_am TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
COMMIT;
|