Zum Hauptinhalt springen

Apple-Zertifizierung

iOS-Zertifikatsgenerator

Erstellen Sie ein iOS-Distribution- oder Entwicklerzertifikat ohne Mac. Generieren Sie hier den Certificate Signing Request (CSR) und die private Schlüssel, laden Sie den CSR bei Apple hoch und wandeln Sie das ausgestellte Zertifikat in eine .p12-Datei für das Signieren um.

  • Erstellen Sie einen Apple-bereiten CSR ohne Keychain Access oder einen Mac, von Windows, Linux oder macOS.
  • Arbeitet für Apple-Distribution (App Store, TestFlight, ad hoc) und Apple-Entwicklerzertifikate.
  • Konvertieren Sie das ausgestellte .cer in .p12 direkt auf dieser Seite, in Ihrem Browser, für Xcode, fastlane, CI oder Capgo Cloud Build.

Arbeitsablauf

  1. 1. Geben Sie die Details für das Zertifikatsubjekt ein, die Sie der Signierungsanfrage hinzufügen möchten.
  2. 2. Download the CSR and matching private key.
  3. 3. Laden Sie den CSR in Apple Developer hoch, wenn Sie Ihr Zertifikat erstellen.
  4. 4. CSR in Apple Developer hochladen, wenn Sie Ihr Zertifikat erstellen.

Schritt 1

Erstellen Sie das CSR und die private Schlüssel

Verwenden Sie die gleiche Person- oder Organisationenidentität, die Sie in der Apple-Zertifikatsanfrage dargestellt haben möchten.

Ausgabe

Ihr generierter Signierungsantrag

Bis der CSR generiert ist, wird nichts angezeigt. Sobald bereit, laden Sie beide Dateien herunter und speichern Sie den privaten Schlüssel sicher.

Generieren Sie einen Zertifikatsantrag, um das Subjektübersicht und die Download-Buttons hier zu sehen.

Schritt 2

Nachdem Apple Ihr Zertifikat ausgestellt hat, kombinieren Sie das

Nachdem Apple Ihr Zertifikat ausgestellt hat, kombinieren Sie das .cer mit dem privaten Schlüssel aus Schritt 1, um ein mit einem Passwort geschütztes .p12 für Xcode, fastlane, CI oder Capgo Cloud Build.

Läuft vollständig in Ihrem Browser. Ihr Zertifikat, Ihr privater Schlüssel und Ihr Passwort werden lokal gelesen und werden nie an einen Server hochgeladen.

Das distribution.cer oder development.cer-Datei von Apple Developer. DER und PEM werden beide akzeptiert.

Die ios-private-key.pem-Datei, die heruntergeladen wurde, wenn Sie die CSR bei Apple hochgeladen haben.

Ausgabe

Ihre .p12-Signaturidentität

Wählen Sie Ihre .cer- und Ihre private Schlüssel, setzen Sie ein Passwort und erstellen Sie die .p12. Es verwendet 3DES-Verschlüsselung mit einer SHA-1-MAC, die Format, das macOS Keychain und Xcode akzeptieren.

Grundlagen

Was ist ein iOS-Zertifikat für die Signatur?

Apple erfordert, dass jede iOS-App code signiert ist. Ein Signaturzertifikat beweist, dass der Build von einem Mitglied Ihres Apple-Entwickler-Teams stammt, und iOS weigert sich, Apps zu installieren oder auszuführen, deren Signatur es nicht vertraut.

Erhalten Sie einen, benötigen Sie drei Dateien. CSR (.csr) enthält Ihre öffentliche Schlüssel und Identität und geht an Apple. Die private Schlüssel (.pem) bleibt bei Ihnen. Das Zertifikat (.cer) ist das, was Apple zurück gibt. Build-Tools benötigen dann das Zertifikat und den privaten Schlüssel zusammen als .p12 Datei.

Auf einem Mac erstellt Keychain Access den CSR und versteckt den privaten Schlüssel in Ihrem Login-Schlüsselkette. Diese Generator gibt Ihnen beide Dateien direkt, sodass Sie von Windows, Linux oder einem CI-Runner aus einen Apple

Sicherheit und Datenschutz

Sicherheit und Datenschutz

  • Die CSR und der RSA-2048-Bit-Privatschlüssel werden auf Anfrage durch einen stateless Capgo-Endpunkt über HTTPS erstellt und direkt an Ihren Browser zurückgegeben.
  • Antworten werden mit Cache-Control: no-storeKeine Daten werden in einer Datenbank gespeichert oder nach der Antwort aufbewahrt.
  • Der CSR wird mit SHA-256 signiert, der Format, das Apple Developer erwartet. Nur der CSR wird bei Apple hochgeladen; der private Schlüssel bleibt bei Ihnen.
  • Die .cer-Datei wird in Ihre Browser umgewandelt. Ihr Zertifikat, Ihr privater Schlüssel und Ihr Passwort werden nie hochgeladen.
  • Keine Registrierung oder Anmeldung sind erforderlich, und Anfragen werden begrenzt, um Missbrauch zu verhindern.

Möchten Sie die Schlüssel lokal generieren? Diese OpenSSL-Befehl erzeugt die gleichen beiden Dateien.

Äquivalenter OpenSSL-Befehl
openssl req -new -newkey rsa:2048 -nodes \
  -keyout ios-private-key.pem \
  -out ios-certificate-request.csr \
  -subj "/emailAddress=jane@company.com/CN=Jane Doe/C=US"

Schritt für Schritt

Wie erstellt man ein iOS-Distributionssertifikat ohne Mac?

Von CSR zu einer signierten App auf TestFlight. Jeder Schritt funktioniert von einem Browser und einem Terminal auf Windows, Linux oder macOS.

  1. Schritt 1

    Erstellen Sie das CSR und den privaten Schlüssel

    Enter your name, email, and two-letter country code in the form above and select Generate CSR and private key. Download both files and keep the private key safe.

  2. Schritt 2

    Erstellen Sie das Zertifikat in Apple Developer

    Anmelden bei developer.apple.com, öffnen Sie Zertifikate, Identitäten und Profile, wählen Sie das Plus-Symbol und wählen Sie Apple Distribution oder Apple Development.

  3. Schritt 3

    Hochladen Sie das CSR und laden Sie die .cer herunter

    Hochladen Sie das ios-certificate-request.csr-Datei, fahren Sie fort und laden Sie das ausgestellte Zertifikat herunter, das normalerweise distribution.cer oder development.cer heißt.

  4. Schritt 4

    Konvertieren Sie die .cer in eine .p12-Datei

    Verwenden Sie den .cer zu .p12-Konverter in Schritt 2 dieser Seite: Wählen Sie die .cer und die private Schlüssel, setzen Sie ein Passwort und laden Sie die .p12 herunter. Es läuft in Ihrem Browser oder verwenden Sie stattdessen den OpenSSL-Befehl.

  5. Schritt 5

    Erstellen Sie ein Verteilungsprofil

    In Apple Developer erstellen Sie ein App Store, ad-hoc oder Entwicklungsverteilungsprofil für Ihre App-ID und wählen Sie das neue Zertifikat.

  6. Schritt 6

    Signieren und versenden Sie Ihre App

    Importieren Sie die .p12- und Profildatei in Xcode, fastlane, Ihre CI-Schlüssel oder Capgo Cloud Build, dann bauen und Ihre App auf TestFlight oder dem App Store hochladen.

Verwenden Sie das Ergebnis.

Signieren Sie Ihre iOS-App mit der .p12.

Der schnellste Weg ist der Der in-Browser-Converter von .cer zu .p12. Präferieren Sie die Befehlszeile? OpenSSL erledigt dasselbe; es fragt nach einem Exportpasswort, das Ihr .p12-Passwort wird.

Erstellen Sie die .p12 mit OpenSSL.

OpenSSL ist auf macOS und den meisten Linux-Distributionen vorinstalliert und auf Windows über Git Bash oder WSL verfügbar.

Konvertieren Sie .cer in .p12.
# 1. Convert Apple's DER .cer to PEM
openssl x509 -inform DER -in distribution.cer -out distribution.pem

# 2. Bundle the certificate and private key into a .p12
#    -legacy (OpenSSL 3) keeps the file compatible with macOS Keychain.
#    Drop it on OpenSSL 1.1 or LibreSSL, which do not support the flag.
openssl pkcs12 -export -legacy \
  -inkey ios-private-key.pem \
  -in distribution.pem \
  -name "Apple Distribution" \
  -out distribution.p12

Capgo Cloud Build

Speichern Sie die .p12- und Profildatei einmal und lassen Sie Capgo Cloud Build iOS-Builds signieren und hochladen, kein Mac erforderlich.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./distribution.p12 \
  --p12-password "your-p12-password" \
  --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \
  --apple-team-id "TEAM123456"

fastlane und Xcode

On a Mac, double-click the .p12 to import it into Keychain and Xcode picks it up. On a CI runner, import it into a temporary keychain with fastlane.

Fastfile
import_certificate(
  certificate_path: "distribution.p12",
  certificate_password: ENV["P12_PASSWORD"],
  keychain_name: "build.keychain",
  keychain_password: ENV["KEYCHAIN_PASSWORD"]
)

CI-Schlüssel und Überprüfungen von Schlüsseln

Encode Signierdateien für GitHub Aktionen oder GitLab-Secrets und bestätigen Sie, dass das Zertifikat der privaten Schlüssel entspricht.

base64 und OpenSSL
# Encode the .p12 and profile for CI secrets
base64 -i distribution.p12 | tr -d '\n' > p12.base64
base64 -i profile.mobileprovision | tr -d '\n' > profile.base64

# Check that the certificate and key match (both hashes must be equal)
openssl x509 -noout -modulus -in distribution.pem | openssl md5
openssl rsa -noout -modulus -in ios-private-key.pem | openssl md5

base64 und OpenSSL

Häufige iOS-Zertifikatsfehler und Lösungen

Häufige Fehler bei der iOS-Zertifizierung und deren Lösungen
Öffne SSL mit 3 verschlüsselt .p12 Dateien mit Algorithmen, die macOS Keychain ablehnen kann. Exportiere die .p12 Datei mit OpenSSL 3 und der oben gezeigten -legacy Flag.
Kein Zertifikat entspricht dem privaten Schlüssel
The .cer was issued for a different CSR. Use the private key downloaded with that exact CSR, or revoke the certificate and start again with a new CSR.
Zertifikate können nicht geladen werden
Apple liefert Zertifikate im DER-Format. Fügen Sie -inform DER hinzu, wenn Sie das Zertifikat im .cer-Format mit openssl x509 konvertieren.
Das Provisioning-Profil enthält kein Signierungs-Zertifikat
Profile sind an bestimmte Zertifikate gebunden. Bearbeiten oder erneut generieren Sie das Provisioning-Profil nach Erstellung des neuen Zertifikats und laden Sie es erneut herunter.
Sie haben die maximale Anzahl an Zertifikaten erreicht
Apple beschränkt die Anzahl der Verteilungszertifikate, die ein Team halten kann. Stornieren Sie ein nicht genutztes Zertifikat in Apple Developer. Live-Apps im App Store werden nicht beeinflusst.
Das Zertifikat wird im Keychain nicht vertraut
Installieren Sie das aktuelle Apple Worldwide Developer Relations (WWDR)-Zertifikat für Zwischenzertifikate von Apple PKI, importieren Sie dann das .p12 erneut.

Nach der Signierung

Schicken Sie Web-Fixes ohne weitere Rundreise im Store

Einmal das native Binärdatei signiert, Capgo Live-Updates können Capacitor Web-Schichtenänderungen über die Luft liefern—Kanäle, Rollover und alle CI/CD, die Sie bereits verwenden.

FAQ

iOS-Zertifikatsgenerator-FAQ

Antworten auf Fragen zu CSRs, Zertifikatstypen, .p12-Umstellung, Apple-Entwicklerkonten und der Signierung von iOS-Anwendungen ohne Mac.

Was erstellt dieser iOS-Zertifikatsgenerator?

Es erstellt einen Zertifikatsanforderungsantrag (.csr) und das entsprechende RSA-2048-Bit-Schlüsselpaar (.pem). Laden Sie den CSR bei Apple Developer hoch, um Ihr Apple-Distribution- oder Apple-Entwicklungszertifikat (.cer) zu erhalten, und kombinieren Sie dann das .cer mit dem privaten Schlüssel in eine .p12-Datei für Xcode, fastlane, CI oder Capgo Cloud Build.

Was ist eine Zertifikatsanforderungsanfrage (CSR)?

Ein CSR ist eine kleine Datei, die Ihren öffentlichen Schlüssel und Ihre Identitätsdetails (Name, E-Mail, Land) enthält, die mit Ihrem privaten Schlüssel signiert sind. Apple verwendet es, um ein Signierungszertifikat zu erstellen, das an diesen Schlüssel gebunden ist. Der private Schlüssel geht nie an Apple, daher müssen Sie den .pem-Datei, die diese Werkzeug gibt, aufbewahren.

Kann ich ein iOS-Distributionszertifikat ohne Mac erstellen?

Ja. Generieren Sie hier den CSR und die private Schlüssel, laden Sie den CSR im Apple Developer-Portal von jedem Browser hoch, laden Sie die .cer herunter und konvertieren Sie sie mit dem Converter in Schritt 2 dieser Seite in .p12. Alles funktioniert von Windows, Linux oder macOS aus, daher ist Keychain Access an keinem Schritt erforderlich.

Welche Zertifikatart sollte ich in Apple Developer wählen?

Wählen Sie Apple Development, um Builds auf registrierten Testgeräten aus Xcode auszuführen. Wählen Sie Apple Distribution, um Builds für den App Store, TestFlight und ad-hoc-Verteilung zu signieren. Das gleiche CSR funktioniert für beide Arten; der Typ wird in Apple Developer und nicht in diesem Tool ausgewählt.

Wird der private Schlüssel auf dem Server gespeichert?

Nein. In Schritt 1 werden der CSR und der private Schlüssel auf Anfrage durch einen stateless Capgo-Endpunkt über HTTPS generiert und direkt an Ihren Browser zurückgegeben, wobei Cache-Control: no-store; sie werden nie in einer Datenbank geschrieben oder nach der Antwort aufbewahrt. Schritt 2, der .cer zu .p12-Converter, läuft vollständig in Ihrem Browser und lädt nichts hoch. Wenn Ihre Richtlinie lokale Schlüsselgenerierung erfordert, verwenden Sie die entsprechende OpenSSL-Kommandozeile auf dieser Seite.

Warum muss ich die .cer-Datei in .p12 umwandeln?

Die von Apple gelieferte .cer-Datei enthält nur das öffentliche Zertifikat. Die Signierung eines Apps erfordert jedoch auch den privaten Schlüssel, daher erwarten Build-Tools ein .p12-Datei, die das Zertifikat und den privaten Schlüssel hinter einem Passwort bündelt.

Wie verwende ich eine .cer-Datei in .p12?

Verwenden Sie Schritt 2 auf dieser Seite: Wählen Sie die .cer-Datei von Apple (DER oder PEM), wählen Sie die private Schlüsseldatei .pem aus, mit der der CSR erstellt wurde, geben Sie ein Passwort ein und wählen Sie Build .p12-Datei. Der Browser überprüft, ob das Zertifikat dem Schlüssel entspricht und erstellt eine 3DES-geschützte .p12-Datei, die von macOS Keychain, Xcode und fastlane akzeptiert wird. Es werden keine Dateien hochgeladen. Sie können die .p12-Datei auch als Base64 kopieren, um CI-Secrets zu verwenden.

Brauche ich einen Apple-Entwickler-Account?

Ja. Die Hochladen eines CSR und die Ausstellung von Signierungszertifikaten erfordert eine bezahlte Mitgliedschaft im Apple-Entwickler-Programm (99 USD pro Jahr oder das Enterprise-Programm für In-House-Verteilung). Der CSR selbst kann ohne Konto generiert werden.

Wie lange ist ein iOS-Zertifikat gültig?

Apple-Entwickler- und Apple-Distribution-Zertifikate sind für ein Jahr gültig. Apps, die bereits auf dem App Store verfügbar sind, funktionieren weiterhin, wenn das Zertifikat abläuft oder zurückgezogen wird, aber Sie benötigen ein neues Zertifikat und einen neuen Provisioning-Profile, um die nächste Build zu signieren.

Can I reuse the same CSR or private key?

Ja, aber ein frischer Schlüsselpaar pro Zertifikat ist sicherer und einfacher zu rotieren. Was Sie nicht tun sollten, ist sie zu mischen: Eine .cer-Datei funktioniert nur mit dem exakt privaten Schlüssel, der den CSR erstellt hat. Wenn der Schlüssel verloren geht, sollten Sie das Zertifikat zurückziehen und einen neuen CSR erstellen.

Kann ich diesen CSR für Push-Benachrichtigungen (APNs)-Zertifikate verwenden?

Ja. Apple fragt nach einem CSR, wenn Sie ein APNs-SSL-Zertifikat erstellen. Für neue Apps ist eine APNs-Authentifizierungsschlüssel (.p8) normalerweise einfacher, da er nie abläuft und für alle Ihre Apps funktioniert.