# Supervision-Identity einmaliger Setup Eine Supervision-Identity ist ein Cert+Key-Paar (im `.p12`-Container), das beweist dass DEIN Mac der "Supervisor" eines iPhones ist. Apple verlangt das, damit ein iPhone nicht von beliebigen Macs supervised werden kann. **Einmal pro Mac generieren. Persistent für alle Devices und alle Sessions.** Ohne Identity scheitert `cfgutil prepare --supervised` mit einem Cert-Fehler. ## Wo die Identity liegen muss Das Bootstrap-Tool erwartet die Identity standardmäßig hier: ``` ~/.rebreak-supervise/supervision-identity.p12 ``` Override via Env-Variable `SUPERVISION_IDENTITY_P12`. ## Pfad A — Via Apple Configurator 2 (GUI, empfohlen) 1. **Apple Configurator 2** öffnen 2. Menü-Bar → `Apple Configurator 2 → Einstellungen → Server` (oder neuere Versionen: `Organizations`) 3. `+` → `New Supervision Identity...` 4. Name vergeben (z.B. `ReBreak Supervision Chahine 2026`) 5. Cert wird im **macOS-Schlüsselbund** gespeichert 6. Schlüsselbund öffnen (`Schlüsselbundverwaltung.app`): - Suche nach dem Namen aus Schritt 4 - Cert + Private-Key sollten beide sichtbar sein - Rechtsklick auf Cert → **„2 Objekte exportieren..."** - Format: **„Personal Information Exchange (.p12)"** - Speichern als `~/.rebreak-supervise/supervision-identity.p12` - Passwort vergeben — leer lassen für einfachen Bootstrap-Tool-Zugriff, ODER Passwort setzen und manuell in `~/.rebreak-supervise/supervision-identity.pass` ablegen (chmod 600) ## Pfad B — Via cfgutil CLI VERIFY ON DEVICE: exakte Flags noch zu validieren. Apple's CLI-Doku ist hier dünn. ```bash mkdir -p ~/.rebreak-supervise CFGUTIL=/Applications/Apple\ Configurator.app/Contents/MacOS/cfgutil # Identity in Schlüsselbund generieren (cfgutil-eigener Aufruf) "$CFGUTIL" generate-supervision-identity \ --name "ReBreak Supervision $(whoami) $(date +%Y)" # Dann via Pfad-A Schritt 6 exportieren (das CLI-Tool kann nicht direkt .p12 schreiben) ``` ## Verifikation ```bash ls -l ~/.rebreak-supervise/supervision-identity.p12 # Sollte: -rw------- 1 ... # Cert-Inhalt prüfen (Passwort eingeben falls gesetzt) openssl pkcs12 -info -in ~/.rebreak-supervise/supervision-identity.p12 -nokeys ``` Erwartete Ausgabe enthält etwa: ``` subject=/CN=Apple Configurator/.../CN=ReBreak Supervision ... ``` ## Sicherheit - Die `.p12` ist **gleichwertig zur Macht** ein iPhone zu supervisen — schützen wie einen SSH-Key - Niemals in Git committen - Bei Mac-Wechsel: Identity exportieren + auf neuen Mac übertragen (oder neu generieren — alte Devices akzeptieren dann nur die alte) - Bei Identity-Verlust: alte enrollte Devices bleiben weiter supervised, aber dieser Mac kann sie nicht mehr managen. Neuen Mac → neue Identity → User-Devices brauchen Re-Setup-Sandwich ## Bei Fehler "supervision identity not trusted" Apple verlangt manchmal dass die Identity im **System-Schlüsselbund** sitzt (nicht User). Workaround: ```bash sudo security add-trusted-cert -d -r trustRoot \ -k /Library/Keychains/System.keychain \ ~/Path/to/exported-cert-only.cer ``` Oder via Apple Configurator GUI re-generieren — die GUI handhabt das korrekt.