So erstellen Sie ein P12-Zertifikat für die iOS-Distribution

102

Wir haben eine iOS-App, deren Push-Benachrichtigungszertifikat abgelaufen ist, und wir versuchen, eine neue zu erstellen. Ich habe neue Zertifikate im Provisioning-Portal (ios_developer.cer, ios_distribution.cer) erstellt und heruntergeladen. Ich habe hier auf Stack Overflow die Anweisungen befolgt , um es in PEM- und dann in P12-Dateien zu konvertieren, aber ich stecke fest. Wenn ich dann versuche, die PEM in P12 zu konvertieren, möchte sie einen privaten Schlüssel, und ich weiß nicht, wo ich ihn bekommen kann.

Ich habe auch versucht, diese in Keychain Access zu laden. Ich hatte gelesen, dass Sie sie von dort als P12 exportieren können, aber wenn ich importiere, werden sie nirgendwo angezeigt.

RobG
quelle

Antworten:

127

Ihr privater Schlüssel wird generiert, wenn Sie die Signaturanforderung in Keychain Access erstellt haben. Nachdem das Zertifikat generiert und heruntergeladen wurde, wird es durch Doppelklicken zum Schlüsselbundzugriff hinzugefügt, wo es mit dem privaten Schlüssel abgeglichen wird. Sie können dann das Zertifikat auswählen und den Pfeil öffnen, um auch den privaten Schlüssel auszuwählen und diese zusammen als .p12-Datei aus Keychain Access zu exportieren.

Picciano
quelle
12
Keine Ursache; herausgefunden. Mann, kein Wunder, dass die Leute solche Probleme damit haben ... es ist verwirrend!
RobG
14
Wäre schön, aber p12 ist für mich
Rob
14
@Rob müssen Sie den privaten Schlüssel und nicht das gesamte Zertifikat auswählen. Wählen Sie in den Schlüsselanhänger oben links "Anmelden" und dann unten in der Kategorie "Zertifikate" aus. Sie sehen, dass Ihr Zertifikat jetzt einen Ablagepfeil hat. Klicken Sie darauf und der private Schlüssel zeigt Rechtsklick an und exportiert den Hut als .p12
tutts
6
Ich bekomme auch keine Dropdown-Option. Ich habe nach dem Herunterladen auf das Zertifikat doppelklickt und es wird im Anmeldeschlüsselbund angezeigt, jedoch nicht unter dem privaten Schlüssel. Ich sehe es nur unter Zertifikate, es gibt keine Verbindung zwischen dem Schlüssel und dem Zertifikat, die ich sehen kann.
Setherj
6
hier gilt das gleiche. Kein Dropdown, p12 ausgegraut
Trainoasis
75

P12-Dateien werden zum Veröffentlichen von Apps im Apple App Store verwendet

A. Erstellen Sie eine CSR-Datei (.certSigningRequest)

  1. Öffnen Sie den Schlüsselbundzugriff über Dienstprogramme
  2. Wählen Sie in der Symbolleiste für den Schlüsselbundzugriff die Option Schlüsselbundzugriff -> Einstellungen
  3. Wählen Sie im Popup-Fenster die Registerkarte Zertifikate
  4. Setzen Sie sowohl "Online Certificate Status Protocol" als auch "Certificate Revocation List" auf "Off".
  5. Schließe dieses Fenster
  6. Öffnen Sie nun in der Symbolleiste Schlüsselbundzugriff> Zertifikatassistent> Zertifikat von einer Zertifizierungsstelle anfordern
  7. Geben Sie die E-Mail-Adresse und den allgemeinen Namen ein, mit denen Sie sich im iOS-Entwicklerprogramm registriert haben
  8. Lassen Sie CA Email leer und wählen Sie "Auf Festplatte gespeichert" und "Lassen Sie mich Schlüsselpaarinformationen angeben".
  9. Klicken Sie auf Weiter
  10. Wählen Sie einen Dateinamen und ein Ziel auf Ihrer Festplatte
  11. Klicken Sie auf Speichern
  12. Setzen Sie im nächsten Fenster den Wert für "Schlüsselgröße" auf "2048 Bit".
  13. Stellen Sie "Algorithmus" auf "RSA"
  14. Klicken Sie auf Weiter

Dadurch wird Ihre certSigningRequest-Datei (CSR) erstellt und auf Ihrer Festplatte gespeichert. In Keychain Access wird auch ein öffentlicher und ein privater Schlüssel mit dem eingegebenen allgemeinen Namen erstellt.

B. Erstellen Sie eine ".cer" -Datei im iOS-Entwicklerkonto

  1. Bei Apple-Entwicklerkonto anmelden Klicken Sie auf "Zertifikate, Kennungen und Profile".
  2. Klicken Sie auf "Bereitstellungsprofile".
  3. Klicken Sie im Abschnitt "Zertifikate" auf "Produktion".
  4. Klicken Sie oben rechts im Hauptfenster auf die Schaltfläche „Hinzufügen“ (+)
  5. Wählen Sie nun "App Store und Ad Hoc".
  6. Klicken Sie auf Weiter
  7. Klicken Sie auf "Datei auswählen" und suchen Sie die CSR-Datei, die Sie von Ihrer Festplatte erstellt haben
  8. Klicken Sie auf Generieren
  9. Klicken Sie auf Download , um die Datei abzurufen

C. Installieren Sie .cer und generieren Sie ein .p12-Zertifikat

  1. Suchen Sie die heruntergeladene CER-Datei und doppelklicken Sie darauf
  2. Setzen Sie das Dropdown-Menü "Anmelden" auf "Anmelden" und klicken Sie auf "Hinzufügen"
  3. Öffnen Sie KeyChain Access und Sie finden das in Schritt A erstellte Profil
  4. Sie können das Profil "Privater Schlüssel" erweitern (zeigt das hinzugefügte Zertifikat an)
  5. Wählen Sie nur diese beiden Elemente aus (nicht den öffentlichen Schlüssel).
  6. Klicken Sie mit der rechten Maustaste und klicken Sie im Popup auf "2 Elemente exportieren ..."
  7. Stellen Sie nun sicher, dass das Dateiformat ".p12" ist, und wählen Sie Dateiname und Ziel auf Ihrer Festplatte
  8. Klicken Sie auf Speichern. Jetzt werden Sie aufgefordert, ein Kennwort festzulegen, aber beide bleiben leer
  9. OK klicken. Jetzt haben Sie eine .p12-Datei auf Ihrer Festplatte

Beachten Sie, dass Sie, wenn das Problem weiterhin besteht, auch den folgenden Schritt ausführen sollten:

Wenn Ihr Schlüsselbund in iCloud vorhanden ist, entfernen Sie den gesamten Schlüsselbundinhalt aus iCloud und führen Sie eine neue Einrichtung in iCloud durch. Dies sollte funktionieren.

Jayprakash Dubey
quelle
Ich habe versehentlich meinen privaten Schlüssel aus der Ke-Kette gelöscht. Jetzt kann ich keinen privaten Schlüssel unter dem Zertifikat sehen. Ich habe CSR-Datei, wie man privaten Schlüssel wieder von CSR installiert?
Avijit Nagare
1
Es fiel mir wirklich schwer, herauszufinden, wie man eine .p12-Datei generiert, da ich ein Windows Phone-Typ bin, und dieser Beitrag hat mir wirklich geholfen, ihn zu verstehen.
Mohammed Aamir K
1
Sehr nützliche Anweisungen. Vielen Dank. Das hat viel Zeit gespart.
Alix
Warum sollten Sie das 'Online Certificate Status Protocol' und das andere deaktivieren?
Nate
1
Ich habe dieses Problem gelöst. Um Ihnen zu erklären, was ich getan habe: Stellen Sie sicher, dass Ihr Schlüsselbund nicht in der iCloud angezeigt wird. Sobald es dort ist, besteht das Risiko, dass Sie das oben genannte Problem bekommen. Ich habe alles deinstalliert, ein neues Setup vorgenommen, ohne die Daten in meiner iCloud zu verwenden, dann hat es funktioniert.
Nazar Medeiros
32

OK, Problem gelöst! Es scheint, dass wenn ich auf das Zertifikat doppelklicke, es automatisch im SYSTEM-Schlüsselbund installiert wird - ich weiß nicht warum. Also ziehe ich stattdessen einfach das Zertifikat in den LOGIN-Schlüsselbund und dann ist alles in Ordnung. Dank dieses Artikels -> Hinzufügen von Zertifikaten zum Schlüsselbund und Generieren des .p12-Dateiformats - alon rosenfeld vor 10 Monaten

Abraham Lopez
quelle
1
Oh wow. Ich habe stundenlang versucht, das herauszufinden. Ohne diese Antwort hätte ich noch eine Woche verschwendet.
B Sieben
1
Ich danke dir sehr. Ich habe Stunden damit verschwendet, das herauszufinden.
SaltedBlowfish
1
Ja, verschwendete Stunden Zeit, gerettet :)
Sahan
29

Sie erhalten die Erweiterungsoption nur, wenn Sie durch Auswahl von (Zertifikate) in der linken unteren Ecke des Schlüsselbunds filtern

Albaiti
quelle
3

Für alle, die dieses Problem noch haben, bestand die Lösung für mich darin, NICHT beide und "2 Elemente exportieren" (den Schlüssel und das Zertifikat) auszuwählen, sondern nur das Zertifikat zu exportieren, das BEREITS den Schlüssel enthält. Ab 2016 denke ich, dass dies der richtige Weg ist, da frühere Uploads, die mit den Export 2-Elementen funktionierten, nicht mehr funktionieren.

Jessicardo
quelle
Ich kann nicht nur das Zertifikat als p12 exportieren - sind Sie sicher, dass dies der richtige Weg ist?
Cecil Rodriguez
Hier gilt das gleiche. Dies ist sehr wichtig.
Gautam Jain
3

Um Ihre p12-Datei zu erhalten, gehen Sie diesen Weg.

Schritt 1. In XCode > Zum Projekteinstellungen > Allgemein > Signing section> Signaturzertifikat

Sehen Sie, welches Zertifikat Sie für diese bestimmte App verwenden (siehe Abbildung unten)

Geben Sie hier die Bildbeschreibung ein

Schritt 2. Öffnen Sie den Schlüsselbund > links unten im Abschnitt Kategorie > Zertifikate

Suchen Sie nach dem Zertifikat und öffnen Sie das Kind, indem Sie auf den Abwärtspfeil klicken (siehe Abbildung)

Geben Sie hier die Bildbeschreibung ein

Schritt 3. Klicken Sie mit der rechten Maustaste und exportieren Sie als "Certificates.p12", indem Sie Ihr Passwort eingeben, z. 123456

swiftBoy
quelle
Ich habe diesen Pfeil nicht zu erweitern
Nazar Medeiros