Sobes.tech
Middle+

Wie funktioniert das Zertifikatssystem in iOS?

sobes.tech KI

Antwort von AI

Zertifikate werden für kryptografische Signaturen und die Verifizierung von Anwendungen, Bereitstellungsprofilen und Verbindungen verwendet. Schlüsselkomponenten: Apple Root-Zertifikat, Zwischenzertifikate, Entwicklerzertifikate, Distributionszertifikate und Provisioning-Profile.

Das Apple Root-Zertifikat ist das vertrauenswürdige Stammzertifikat von Apple.

Zwischenzertifikate verbinden das Stammzertifikat mit den Endzertifikaten des Entwicklers/Verteilers.

Das Entwicklerzertifikat identifiziert den Entwickler für Entwicklungs- und Debugging-Zwecke auf registrierten Geräten.

Das Distributionszertifikat wird verwendet, um Anwendungen vor der Verteilung über den App Store, Enterprise-Programme oder Ad Hoc zu signieren.

Das Provisioning-Profil verbindet die App-ID, Entwickler-/Distributionszertifikate und registrierte Geräte (für Ad Hoc und Entwicklung). Es legt fest, welche Apple-Dienste die Anwendung nutzen kann (z.B. Push-Benachrichtigungen, Fähigkeiten).

Prozess:

  1. Es wird eine Zertifikatsignaturanfrage (CSR) auf dem Entwickler-Computer erstellt.
  2. Die CSR wird auf das Apple Developer-Portal hochgeladen.
  3. Apple stellt ein Entwickler- oder Distributionszertifikat aus.
  4. Das Zertifikat wird im Schlüsselbund (Keychain) auf dem Entwickler-Computer installiert.
  5. Es wird ein Provisioning-Profil auf dem Apple Developer-Portal erstellt, das die App-ID, das Zertifikat und die Geräte verbindet. Das Profil wird ebenfalls hochgeladen und installiert.
  6. Die Anwendung wird während des Build-Prozesses mit dem Zertifikat und dem Provisioning-Profil signiert.
  7. Bei der Installation auf einem Gerät oder vor der Veröffentlichung im App Store werden die Signatur und das Provisioning-Profil vom iOS-System überprüft.

Überprüfung: Das iOS-System überprüft die Vertrauenskette des Zertifikats, die vom App-Zertifikat bis zum Apple Root-Zertifikat reicht, sowie die Gültigkeit des Provisioning-Profils. Wenn etwas falsch ist, wird die Installation oder Ausführung der Anwendung blockiert.

Provisioning-Profil
  .mobileprovision // Datei
  enthält:
    - App-ID
    - Zertifikate (Entwickler/Verteiler)
    - Geräte-UDIDs (für Dev/Ad Hoc)
    - Berechtigungen (Capabilities)

Zertifikat
  .cer // Datei
  von Apple signiert
  mit privatem Schlüssel im Keychain verknüpft