Apple Certificate ist ein digitales Dokument, das vom Apple Developer Portal zur Codesignierung von Anwendungen für iOS, iPadOS, macOS, tvOS und watchOS ausgestellt wird. Laut Apple Developer Support, 2026 sind Zertifikate Teil der Public-Key-Infrastruktur (PKI) und zur Bestätigung der Identität des Entwicklers erforderlich. In diesem Artikel behandeln wir die Zertifikatstypen, den Erstellungs- und Verwaltungsprozess.
Wichtige Punkte
Apple Certificate ist ein kryptografisches Zertifikat im X.509-Format, das von der Apple Certificate Authority ausgestellt wird. Es bestätigt, dass der Inhaber ein registriertes Mitglied des Apple Developer Program ist und berechtigt ist, Anwendungen für das Apple-Ökosystem zu signieren. Das Zertifikat besteht aus einem öffentlichen Schlüssel, Besitzer-Metadaten und einer digitalen Signatur der Apple CA — jeder kann die Authentizität des Zertifikats mit dem in das Betriebssystem integrierten Apple-Root-Zertifikat überprüfen.
Die PKI-Architektur von Apple umfasst drei Ebenen: das Apple Root CA, das Zwischenzertifikat (Apple Worldwide Developer Relations CA) und das Entwicklerzertifikat. Apple Worldwide Developer Relations CA signiert alle Entwicklerzertifikate — wenn dieses Zwischenzertifikat in der Vertrauenskette fehlt, gilt die Codesignatur als ungültig. Apple-Root-Zertifikate werden automatisch über den in iOS und macOS integrierten Apple Trust Store-Mechanismus aktualisiert.
Jedes Zertifikat hat eine Gültigkeitsdauer — je nach Typ ein bis drei Jahre. Apple Developer Program benachrichtigt den Entwickler 30 Tage vor Ablauf des Zertifikats automatisch per E-Mail und Push-Benachrichtigungen. Nach Ablauf kann das alte Zertifikat nicht mehr zum Signieren neuer Builds verwendet werden — es muss ein neues ausgestellt werden; jedoch funktionieren mit dem abgelaufenen Zertifikat signierte Anwendungen auf den Geräten der Benutzer weiterhin.
Die Vertrauenskette stellt sicher, dass das Entwicklerzertifikat tatsächlich von Apple ausgestellt wurde. iOS überprüft: das Apple Root CA-Zertifikat (in die Firmware integriert), das zwischengeschaltete Apple Worldwide Developer Relations CA-Zertifikat und das Entwicklerzertifikat. Wenn ein Element der Kette fehlt oder ungültig ist, blockiert iOS den App-Start mit einem Codesignierungsfehler. macOS bietet das Dienstprogramm security zur Überprüfung der Vertrauenskette eines beliebigen Zertifikats im Schlüsselbund.
Der Codesignierungsprozess mit einem Apple Certificate basiert auf asymmetrischer Kryptografie. Der private Schlüssel wird auf dem Computer des Entwicklers im Keychain gespeichert, während der öffentliche Schlüssel in das Zertifikat aufgenommen und an das Apple Developer Portal gesendet wird. Wenn Xcode eine Anwendung signiert, erstellt es einen Digest (Hash) der Binärdatei und verschlüsselt ihn mit dem privaten Schlüssel — dies ist die digitale Signatur. Das Gerät entschlüsselt die Signatur mit dem öffentlichen Schlüssel aus dem Zertifikat und vergleicht sie mit dem berechneten Hash.
Apple verwendet den ECDSA-Algorithmus (Elliptic Curve Digital Signature Algorithm) mit der P-256-Kurve für alle nach 2021 ausgestellten Zertifikate. Zuvor wurde RSA-2048 verwendet. Der Übergang zu ECDSA erhöhte die Signaturüberprüfungsgeschwindigkeit auf Geräten und reduzierte die Signaturgröße — dies ist besonders wichtig für mobile Anwendungen, da die Signaturüberprüfung bei jedem Start erfolgt. Laut Apple Security Engineering (2025) bietet ECDSA P-256 ein äquivalentes Sicherheitsniveau zu RSA-2048 bei deutlich geringeren Rechenkosten.
Für CI/CD-Prozesse muss das Zertifikat zusammen mit dem privaten Schlüssel in PKCS12 (.p12) exportiert und in einem sicheren Speicher abgelegt werden. GitHub Actions, Bitrise, Jenkins und andere CI-Systeme unterstützen den Import von Zertifikaten über Umgebungsvariablen oder Secrets. Nach dem Import auf dem CI-Agent wird das Zertifikat vorübergehend zum Schlüsselbund hinzugefügt, zum Signieren verwendet und dann entfernt. Fastlane Match automatisiert diesen Prozess, indem es Zertifikate über ein verschlüsseltes Git-Repository zwischen Entwicklern synchronisiert.
Das Development-Zertifikat ermöglicht das Signieren von Anwendungen zur Ausführung auf physischen Geräten des Entwicklers. Ein kostenloses Apple-ID-Konto reicht aus, um es zu erhalten — Xcode kann ein Development-Zertifikat automatisch generieren. Das Distribution-Zertifikat wird nur für kostenpflichtige Apple Developer Program-Konten (99 $/Jahr) ausgestellt und ist erforderlich, um eine App an den App Store zu senden, für Ad-Hoc-Verteilung oder Enterprise-Verteilung. Ein Konto kann mehrere Distribution-Zertifikate haben — beispielsweise separate für jede Anwendung oder für verschiedene Teams.
Das Apple Developer Portal bietet verschiedene Arten von Zertifikaten, die jeweils für einen bestimmten Zweck entwickelt wurden. iOS App Development — Basis-Zertifikat zum Signieren von Anwendungen während der Entwicklung. Apple Distribution — Hauptzertifikat für die Veröffentlichung im App Store. Mac Development und Mac Distribution — Gegenstücke für macOS-Anwendungen. Jeder Zertifikatstyp erfordert eine separate Anfrage (CSR) im Apple Developer Portal.
Eine separate Kategorie sind Zertifikate für Push-Benachrichtigungen. Der Apple Push Notification service (APNs) erfordert entweder ein separates SSL-Zertifikat oder die Verwendung von Authentifizierungstoken (APNs Auth Key). APNs-SSL-Zertifikate werden getrennt für Development- (Sandbox) und Production-Umgebungen ausgestellt und sind an eine bestimmte App-ID gebunden. APNs Auth Key ist ein modernerer Ansatz: ein einziger Schlüssel (.p8) bedient alle Anwendungen des Kontos, was die Verwaltung vereinfacht.
| Zertifikatstyp | Zweck | Gültigkeit |
|---|---|---|
| iOS App Development | Signierung für Tests auf Geräten | 1 Jahr |
| Apple Distribution | Veröffentlichung im App Store und Ad Hoc | 1 Jahr |
| Mac Development | Signierung von macOS-Apps für Entwicklung | 1 Jahr |
| Mac Distribution | Veröffentlichung im Mac App Store | 1 Jahr |
| APNs SSL (Sandbox) | Push-Benachrichtigungen in Testumgebung | 1-3 Jahre |
| APNs SSL (Production) | Push-Benachrichtigungen in Produktion | 1-3 Jahre |
Die Erstellung eines Apple Certificate beginnt mit der Generierung einer Certificate Signing Request (CSR) über den Keychain Access auf macOS. Keychain Access erstellt ein Schlüsselpaar: der private Schlüssel verbleibt im Schlüsselbund, während die CSR an das Apple Developer Portal gesendet wird. Nach der Identitätsüberprüfung signiert Apple die CSR und stellt ein fertiges Zertifikat (.cer) aus, das heruntergeladen und per Doppelklick installiert werden muss.
Für die Verwaltung mehrerer Projekte und Teams bietet Apple die Möglichkeit, Zertifikate für verschiedene Team-IDs zu erstellen. Ein Entwickler kann Mitglied mehrerer Teams sein (über das Apple Developer Program — App Store Connect), und für jedes Team werden separate Zertifikate ausgestellt. Xcode wechselt automatisch die Zertifikate basierend auf dem ausgewählten Team in den Signing & Capabilities-Einstellungen.
Der Widerruf eines Zertifikats ist ein kritischer Vorgang: alle mit diesem Zertifikat signierten Anwendungen werden auf neuen Geräten nicht mehr installiert (bereits installierte funktionieren weiter). Das Apple Developer Portal ermöglicht den Widerruf jedes Zertifikats im Bereich Certificates. Gründe für den Widerruf: Kompromittierung des privaten Schlüssels, Austritt des Entwicklers aus dem Team, Verstoß gegen die Bedingungen des Apple Developer Program. Nach dem Widerruf muss ein neues Zertifikat ausgestellt und alle aktiven Builds neu signiert werden.
Keychain (Schlüsselbund) ist der macOS-Systemspeicher für Zertifikate, private Schlüssel und Passwörter. Alle Apple-Zertifikate und entsprechenden privaten Schlüssel werden im Login-Schlüsselbund (login.keychain) des Benutzers gespeichert. Xcode greift beim Signieren von Code auf den Keychain zu und wählt automatisch das passende Zertifikat basierend auf dem Build-Typ aus. Zur Diagnose von Signierungsproblemen ist das integrierte Dienstprogramm Keychain Access (Ordner /Applications/Utilities) hilfreich.
Der Export eines Zertifikats für CI/CD erfolgt über den Keychain Access: Wählen Sie das Zertifikat und den entsprechenden privaten Schlüssel aus (sie sollten in einer Zeile erweitert sein), klicken Sie mit der rechten Maustaste und wählen Sie Export. Das Format ist PKCS12 (.p12). Während des Exports fordert Keychain ein Passwort zum Schutz der Datei an — dieses Passwort wird beim Import auf dem CI-Server benötigt. Ohne den privaten Schlüssel ist das exportierte Zertifikat zum Signieren unbrauchbar — es kann nur zur Überprüfung bereits signierten Codes verwendet werden.
Beispielbefehl zum Importieren eines Zertifikats in den Schlüsselbund des CI-Agents mit dem security-Dienstprogramm:
# Temporären Schlüsselbund erstellen
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain
# Zertifikat aus .p12 importieren
security import certificate.p12 -k build.keychain \
-P "${P12_PASSWORD}" -T /usr/bin/codesign
# Signierungsrichtlinie konfigurieren
security set-key-partition-list -S apple: -s \
-k "temp" build.keychain
Security create-keychain erstellt einen temporären Schlüsselbund, der vom Benutzer isoliert ist. Dies ist für CI wichtig, um den System-Schlüsselbund des Agents nicht zu verschmutzen. Das Flag -T /usr/bin/codesign ermöglicht dem Dienstprogramm codesign den Zugriff auf Schlüssel ohne Passwortabfrage — andernfalls würde die automatische Signierung in der Pipeline durch einen Dialog unterbrochen. Der Befehl set-key-partition-list ist für die Kompatibilität mit den macOS-Codesignierungsanforderungen im automatischen Modus erforderlich.
Der häufigste Fehler ist „No signing certificate found“ beim Erstellen in Xcode. Er tritt auf, wenn im Keychain kein Zertifikat mit einem privaten Schlüssel vorhanden ist, der dem ausgewählten Build-Typ entspricht. Lösung: Überprüfen Sie den Keychain Access auf das Vorhandensein des Zertifikats, laden Sie es aus dem Apple Developer Portal herunter und installieren Sie es. Wenn der private Schlüssel verloren gegangen ist (alter Computer, Systemneuinstallation), muss das alte Zertifikat widerrufen und ein neues ausgestellt werden.
Der Fehler „Valid signing certificate not found“ in CI/CD tritt auf, wenn auf dem Agenten die zwischengeschalteten Apple-Zertifikate (Apple Worldwide Developer Relations CA) nicht installiert sind. Apple fügt Zwischenzertifikate in die Kette ein, wenn das Entwicklerzertifikat heruntergeladen wird, aber sie können beim manuellen Export von .p12 fehlen. Lösung — laden Sie die Zwischenzertifikate von der Apple Certificate Authority-Website herunter und installieren Sie sie im Schlüsselbund des CI-Agents.
Ein abgelaufenes Zertifikat zeigt sich durch den Fehler „This certificate has an invalid issuer“ beim Signieren. Das Apple Developer Portal zeigt den Status jedes Zertifikats und sein Ablaufdatum an. Wenn eine Anwendung bereits mit einem abgelaufenen Zertifikat im App Store veröffentlicht wurde, funktioniert sie weiter — der App Store verwendet für die Verteilung sein eigenes Apple-Zertifikat. Zum Hochladen eines neuen Builds ist jedoch ein gültiges Distribution-Zertifikat erforderlich. Fastlane enthält den Befehl cert zum automatischen Erstellen und Erneuern von Zertifikaten.
Häufig gestellte Fragen
Nein, für iOS und macOS werden unterschiedliche Zertifikatstypen ausgestellt — iOS App Development und Mac Development. Das Apple Distribution-Zertifikat ist ebenfalls nach Plattform getrennt. Beim Erstellen eines Zertifikats im Apple Developer Portal müssen Sie die Zielplattform angeben — ein universelles Zertifikat für alle Plattformen existiert nicht.
Sie müssen das alte Zertifikat im Apple Developer Portal über Certificates, Identifiers & Profiles widerrufen. Erstellen Sie dann eine neue CSR über den Keychain Access und stellen Sie ein neues Zertifikat aus. Alle mit dem alten Zertifikat signierten Anwendungen müssen neu signiert und erneut in den App Store hochgeladen werden, wenn ein Update veröffentlicht werden soll.
Ein Apple Developer Program-Konto erlaubt maximal zwei Distribution-Zertifikate und eine unbegrenzte Anzahl von Development-Zertifikaten gleichzeitig. Enterprise-Konten haben separate Grenzen. Wenn das Limit für Distribution-Zertifikate erreicht ist, muss eines der vorhandenen Zertifikate vor der Erstellung eines neuen widerrufen werden.
Verwenden Sie das security-Dienstprogramm: security find-identity -v -p basic listet alle Zertifikate im Schlüsselbund mit Ablaufdaten auf. Für ein bestimmtes Zertifikat geben Sie seinen SHA-1-Hash an: security find-certificate -c „Developer“ -p | openssl x509 -noout -enddate.
Ja, Zertifikate sind an ein bestimmtes Apple Developer-Konto (Team-ID) gebunden. Beim Ändern des Kontos werden alte Zertifikate für die neue Team-ID ungültig. Xcode fordert beim Wechsel des Kontos in Accounts Preferences automatisch die Erstellung neuer Zertifikate für das neue Team an.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch