Wie kann eine mobileconfig für Apple Geräte (iPhone, iPad, iMac …) signiert werden?

Mit dem Apple Configurator erstellte Profile können in Apple Geräte übertragen werden. Diese mobileconfig-Dateien sind XML Dateien. Wenn man die signiert, wird in den Profilen ein grüner Haken und überprüft in grün angezeigt. Sonst steht da, nicht signiert in ROT.

und man hat noch weitere Vorteile. Der Apple Configurator ist ein Tool das hauptsächlich für die Verwaltung von iOS- und macOS-Geräten in Unternehmen, Schulen und anderen Organisationen verwendet wird. Es ermöglicht die Massenkonfiguration und Verwaltung von iOS- und macOS-Geräten über eine benutzerfreundliche grafische Benutzeroberfläche. Es hilft auch schon, wenn man ein Gerät hat, denn mache Einstellungen kann man nur über Profile einstellen, und für meine 6 Geräte wird die Verwaltung auch schon einfacher.

Nun zu einem kleinen Beispiel, wir wollen Zertifikate in ein Profile importieren und die Profile Datei signieren. Hier nun die nötigen Schritte:

Ich habe mal drei Zertifikate (Root, Intermediate und User-Zertifikat) mit meiner XCA erstellt, die auf einem Raspberry Pi 4 (headless) läuft (und auch auf iMac) und zwar so:

Mit diesen Keys:

Das Intermediate Zertifikate (public und private Key) habe ich aus der XCA zum signieren exportieren. Und die 3 public Zertifikate (Root, Intermediate, User) habe ich exportiert. Die public Zertifikate habe ich dann im Apple Configurator wie folgt importiert, und als Zertifikate.mobileconfig Datei gespeichert.
Hier mal eine gekürze Version der XML Datei:

Die signierte Datei hat vor und nach der XML-Datei noch die binäre Signatur.

Diese Datei könnte so auch schon in das Apple Gerät übertragen werden, hat dann aber keine grünen Haken und man bekommt Änderungen nicht mit.

Deshalb die Datei mit openssl wie folgt mit dem Intermediate Key auf der Kommandozeile signieren:

Man hat dann eine mit dem Intermediate Key signierte Profile Datei TW-Zertifikate-wenzlaff-signiert.mobileconfig, die man per Air-Drop oder E-Mail übertragen kann. Nach aktivierung des Profils, sieht es dann so aus:

Hier nochmal der ganze Prozess als BPMN Diagramm im Detail als Zusammenfassung:

Später zeige ich noch, wie ein VPN und DNS-over-HTTPS Profil erstellt werden kann. Die werden dann, mit diese Zertifikate signiert, dazu aber später mehr…