190 Stimmen

Erstellen einer .pem-Datei für APNS?

Wie erstelle ich eine .pem-Datei, die auf dem Hosting-Server für APN-Nutzdaten gespeichert wird?

1 Stimmen

Kann ich .p12 für apns anstelle von .pem verwenden?

0 Stimmen

Zu Ihrer Information: Definition von .pem: serverfault.com/a/21158/193377 PEM ist für sich genommen kein Zertifikat, sondern nur eine Art der Datenverschlüsselung. .... ist es sicher, in den Text einer E-Mail-Nachricht einzufügen, da es Ankerzeilen hat und 7-Bit sauber ist.

7voto

quellish Punkte 20902

HINWEIS: Sie müssen in App Store Connect die Rolle "Team Agent" oder "Admin" haben, um diese Aufgaben durchführen zu können. Wenn Sie nicht Teil eines Teams in App Store Connect sind, hat dies wahrscheinlich keine Auswirkungen auf Sie.

Das Senden von Push-Benachrichtigungen an eine iOS-Anwendung erfordert die Erstellung von Verschlüsselungsschlüsseln. In der Vergangenheit war dies ein mühsamer Prozess, der SSL-Schlüssel und -Zertifikate verwendete. Jedes SSL-Zertifikat war spezifisch für eine einzelne iOS-Anwendung. Im Jahr 2016 führte Apple einen neuen Authentifizierungsschlüsselmechanismus ein, der zuverlässiger und einfacher zu verwenden ist. Die neuen Authentifizierungsschlüssel sind flexibler, einfach zu pflegen und gelten für mehr als eine iOS-App.

Auch wenn die Einführung von Authentifizierungsschlüsseln schon einige Jahre zurückliegt, werden sie nicht von jedem Dienst unterstützt. FireBase und Amazon Pinpoint unterstützen Authentifizierungsschlüssel. Amazon SNS, Urban Airship, Twilio und LeanPlum unterstützen sie nicht. Viele Open-Source-Softwarepakete unterstützen noch keine Authentifizierungsschlüssel.

So erstellen Sie das erforderliche SSL-Zertifikat und exportieren es als PEM-Datei mit öffentlichen und privaten Schlüsseln:

  1. Navigieren Sie zu Zertifikate, Identifikatoren und Profile
  2. Erstellen oder bearbeiten Sie Ihre App-ID.
  3. Aktivieren Sie Push-Benachrichtigungen für die App-ID
  4. Hinzufügen eines SSL-Zertifikats zur App-ID
  5. Konvertieren Sie das Zertifikat in das PEM-Format

Wenn Sie das SSL-Zertifikat für die App bereits auf der Apple Developer Center-Website eingerichtet haben, können Sie mit der Konvertierung des Zertifikats in das PEM-Format fortfahren. Denken Sie daran, dass Sie Probleme bekommen werden, wenn Sie nicht auch über den privaten Schlüssel verfügen, der auf dem Mac generiert wurde, der die Signierungsanforderung erstellt hat, die zu Apple hochgeladen wurde.

Lesen Sie weiter, um zu erfahren, wie Sie den privaten Schlüssel nicht aus den Augen verlieren.

Navigieren Sie zu Zertifikate, Identifikatoren und Profile

Xcode steuert keine Zertifikate oder Schlüssel für Push-Benachrichtigungen. Um Schlüssel zu erstellen und Push-Benachrichtigungen für eine App zu aktivieren, müssen Sie die Apple Developer Center Website besuchen. Der Abschnitt "Certificates, Identifiers & Profiles" Ihres Kontos steuert App IDs und Zertifikate.

Um auf Zertifikate und Profile zugreifen zu können, müssen Sie entweder eine bezahlte Mitgliedschaft im Apple Developer Program haben oder einem Team angehören, das diese Mitgliedschaft hat.

  1. Loggen Sie sich in den Apple Website für Entwickler enter image description here
  2. Gehe zu Konto entonces Zertifikate, Identifikatoren und Profile enter image description here

Eine App-ID erstellen

Apps, die Push-Benachrichtigungen verwenden, können keine Platzhalter-App-IDs oder Bereitstellungsprofile verwenden. Für jede App müssen Sie einen App-ID-Datensatz im Apple Developer Center Portal einrichten, um Push-Benachrichtigungen zu aktivieren.

  1. Gehe zu App-IDs unter Identifikatoren
  2. Suchen Sie Ihre Anwendung mit Hilfe des Bundle-Identifikators. Möglicherweise ist sie bereits vorhanden.
  3. Wenn keine App-ID für die App vorhanden ist, klicken Sie auf die Schaltfläche (+), um sie zu erstellen.
  4. Wählen Sie Explizite App-ID im App-ID Abschnitt Suffix. enter image description here
  5. Geben Sie den Bündelbezeichner für die Anwendung ein.
  6. Scrollen Sie nach unten und aktivieren Sie Push-Benachrichtigungen . enter image description here
  7. Klicken Sie auf Weiter .
  8. Auf dem nächsten Bildschirm klicken Sie auf Register um die Erstellung der App-ID abzuschließen. enter image description here

Aktivieren Sie Push-Benachrichtigungen für die App-ID

  1. Gehe zu App-IDs unter Identifikatoren
  2. Klicken Sie auf die App-ID, um Details zu sehen, und scrollen Sie bis zum Ende. enter image description here
  3. Klicken Sie auf bearbeiten enter image description here
  4. Blättern Sie auf dem Bildschirm App-ID-Einstellungen nach unten zu Push-Benachrichtigungen enter image description here
  5. Aktivieren Sie das Kontrollkästchen, um Push-Benachrichtigungen zu aktivieren. enter image description here

Die Erstellung von SSL-Zertifikaten für Push-Benachrichtigungen ist ein Prozess mit mehreren Aufgaben. Jede Aufgabe besteht aus mehreren Schritten. Alle diese Schritte sind notwendig, um die Schlüssel im P12- oder PEM-Format zu exportieren. Überprüfen Sie die Schritte, bevor Sie fortfahren.

Hinzufügen eines SSL-Zertifikats zur App-ID

  1. Klicken Sie unter Entwicklung SSL-Zertifikat Zertifikat erstellen . Sie müssen dies später auch für die Produktion tun.
  2. Apple wird Sie auffordern, eine Zertifikatsanforderung zu erstellen enter image description here

Um ein Zertifikat zu erstellen, müssen Sie eine Zertifikatsanforderung (Certificate Signing Request, CSR) auf einem Mac erstellen und diese zu Apple hochladen.

Wenn Sie dieses Zertifikat später als pkcs12-Datei (auch p12 genannt) exportieren möchten, müssen Sie den Schlüsselbund aus der Datei gleicher Mac . Wenn die Signieranforderung erstellt wird, generiert Keychain Access eine Reihe von Schlüsseln im Standard-Schlüsselbund. Diese Schlüssel sind für die Arbeit mit dem Zertifikat erforderlich, das Apple aus der Signierungsanforderung erstellt.

Es ist eine gute Praxis, einen separaten Schlüsselbund speziell für die für die Entwicklung verwendeten Anmeldeinformationen zu haben. Wenn Sie dies tun, stellen Sie sicher, dass dieser Schlüsselbund als Standard eingestellt ist, bevor Sie Certificate Assistant verwenden.

Erstellen eines Schlüsselbundes für Entwicklungsnachweise

  1. Öffnen Sie Keychain Access auf Ihrem Mac
  2. En el Datei Menüauswahl Neuer Schlüsselanhänger...
  3. Geben Sie Ihrem Schlüsselbund einen beschreibenden Namen, wie "Shared Development" oder den Namen Ihrer Anwendung

Erstellen einer Zertifikatssignierungsanforderung (CSR)

Beim Erstellen der Zertifikatssignaturanforderung generiert der Zertifikatsassistent zwei Verschlüsselungsschlüssel im Standard-Schlüsselbund. Es ist wichtig, den Entwicklungs-Schlüsselbund zum Standard zu machen, damit sich die Schlüssel im richtigen Schlüsselbund befinden.

  1. Öffnen Sie Keychain Access auf Ihrem Mac.
  2. Control-Klick auf den Entwicklungs-Schlüsselbund in der Liste der Schlüsselbunde
  3. Wählen Sie Schlüsselbund "Gemeinsame Entwicklung" als Standard festlegen enter image description here
  4. Von der Schlüsselbund Zugang Menüauswahl Zertifikat Assistent entonces Ein Zertifikat bei einer Zertifizierungsstelle anfordern... aus dem Untermenü. enter image description here
  5. Wenn der Zertifikatsassistent erscheint, überprüfen Sie Auf Festplatte gespeichert . enter image description here
  6. Geben Sie die E-Mail-Adresse, die mit Ihrer Mitgliedschaft im Apple Developer Program verbunden ist, im Feld Benutzer-E-Mail-Adresse Feld.
  7. Geben Sie einen Namen für den Schlüssel im Feld Allgemeiner Name Feld. Es empfiehlt sich, die Bundle-ID der Anwendung als Teil des Common Name zu verwenden. So lässt sich leicht feststellen, welche Zertifikate und Schlüssel zu welcher Anwendung gehören.
  8. Klicken Sie auf Weiter. Certificate Assistant fordert Sie auf, die Signieranforderung in einer Datei zu speichern.
  9. Machen Sie in Keychain Access den "Login"-Schlüsselbund wieder zum Standard.

Bei der Erstellung der Signieranforderung wurde ein Schlüsselpaar erzeugt. Überprüfen Sie vor dem Hochladen der Signaturanforderung, ob der Schlüsselbund der Entwicklung die Schlüssel enthält. Ihre Namen sind die gleichen wie die der Allgemeiner Name in der Signieranfrage verwendet.

enter image description here

Hochladen der Zertifikatssignierungsanforderung (CSR)

Sobald die Zertifizierungsanforderung erstellt ist, laden Sie sie in das Apple Developer Center hoch. Apple erstellt das Push-Benachrichtigungszertifikat anhand der Signierungsanforderung.

  1. Hochladen der Zertifikatssignierungsanforderung
  2. Laden Sie das von Apple erstellte Zertifikat aus dem Certificate Signing Request enter image description here
  3. Wählen Sie in Keychain Access den Entwicklungs-Schlüsselbund aus der Liste der Schlüsselbunde aus
  4. Von der Datei Menüauswahl Artikel importieren... enter image description here
  5. Importieren Sie die von Apple heruntergeladene Zertifikatsdatei

Ihr Entwickler-Schlüsselbund sollte nun das Push-Zertifikat mit einem privaten Schlüssel unter Meine Zertifikate in Keychain Access:

enter image description here

Zu diesem Zeitpunkt sollte der Schlüsselbund für die Entwicklung gesichert sein. Viele Teams bewahren ihre Push-Zertifikate auf sicheren USB-Laufwerken auf, setzen auf eine interne Versionskontrolle oder verwenden eine Backup-Lösung wie Time Machine. Der Entwicklungs-Schlüsselbund kann von verschiedenen Teammitgliedern gemeinsam genutzt werden, da er keine persönlichen Code-Signatur-Zugangsdaten enthält.

Schlüsselbunddateien befinden sich in ~/Library/Keychains .

Einige Push-Dienste von Drittanbietern erfordern Zertifikate im PEM-Format (Privacy Enhanced Mail), während andere Public-Key Cryptography Standards #12 (PKCS12 oder P12) benötigen. Das von Apple heruntergeladene Zertifikat kann verwendet werden, um Zertifikate in diesen Formaten zu exportieren - allerdings nur, wenn Sie den privaten Schlüssel behalten haben.

Konvertieren Sie das Zertifikat in das PEM-Format

  1. Wählen Sie in Keychain Access den zuvor erstellten Entwicklungs-Schlüsselbund aus.
  2. Wählen Sie das Push-Zertifikat in Meine Zertifikate . Es sollte ein privater Schlüssel dabei sein. CER-Push-Zertifikat herunterladen (keychain/import complete.png)
  3. Von der Datei Menüauswahl Artikel exportieren... enter image description here
  4. Wählen Sie in dem sich öffnenden Speicherfenster Privacy Enhanced Mail (.pem) als Dateiformat.
  5. Speichern Sie die Datei

1 Stimmen

Für die meisten Bildschirmfotos in einer Antwort.

0 Stimmen

Haben Sie einen fehlenden Screenshot? Siehe "CER-Push-Zertifikat herunterladen" am Ende Ihrer Antwort

0 Stimmen

Ich habe sowohl das Zertifikat als auch den privaten Schlüssel in meinem Schlüsselbund, aber die Option zum Exportieren nach .pem Datei ist ausgegraut. Ich kann sie nur exportieren in .p12 ou .cer für alle 3 Sandbox-Zertifikate+Schlüssel, die ich habe. Ich habe sogar ein neues Sandbox-Zertifikat dafür erstellt, aber das hat nicht funktioniert. Irgendwelche Ideen?

5voto

Gautam Jain Punkte 2903

Sie können es sich hier ansehen. Ich habe den detaillierten Prozess mit Bildern beschrieben, von der Erstellung des Zertifikats, über den App-Schlüssel bis hin zum Bereitstellungsprofil und schließlich zum pem. http://docs.moengage.com/docs/apns-certificate-pem-file

2voto

Rots Punkte 5436

So habe ich es unter Windows 7 gemacht, nachdem ich installiert hatte OpenSSL (Link führt zum Win32-Installationsprogramm, wählen Sie die neueste Version und nicht die Light-Version).

Mit dieser Methode benötigen Sie nur die .cer Datei, die von Apple heruntergeladen wurde.

c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM

wird eine Datei erstellt, der Sie dann Ihren privaten Schlüssel hinzufügen müssen.

-----BEGIN PRIVATER SCHLÜSSEL-----
MIIEuwIBADANBgkqhk....etc
MIIEuwIBADANBgkqhk....etc
MIIEuwIBADANBgkqhk....etc
MIIEuwIBADANBgkqhk....etc
-----DER PRIVATE SCHLÜSSEL-----
-----BEGIN CERTIFICATE-----
AwIBAgwIBADAwIBADA....etc
AwIBAgwIBADAwIBADA....etc
AwIBAgwIBADAwIBADA....etc
-----END BESCHEINIGUNG-----

Das war's.

2voto

arturdev Punkte 10531

Ich würde eine viel einfachere Lösung vorschlagen. Verwenden Sie einfach Certifire .
Certifire ist eine macOS-Anwendung, die Apple Push Notification-Zertifikate mit nur einem Klick in ein paar Sekunden erzeugt.

Hier sind die Schritte:
1. Laden Sie die App herunter.
2. Melden Sie sich mit Ihren Apple Developer Account-Anmeldedaten an.
3. Wählen Sie die App-ID
4. Schaltfläche "Erzeugen" anklicken
5. Sie sind fertig!

Sie erhalten APN-Zertifikate sowohl im .pem- als auch im .p12-Format. Darüber hinaus erhalten Sie auch kombinierte .pem- und .p12-Zertifikate (Schlüssel+Zertifikat)!
Darüber hinaus erhalten Sie von all diesen Zertifikaten auch Versionen ohne Passphrase!

enter image description here

enter image description here

2voto

Yash Punkte 173

Es gibt eine einfache Möglichkeit, eine .Pem-Datei zu erstellen, wenn Sie bereits eine apns p12-Datei in Ihrem Schlüsselbundzugang haben.

Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

Für die Entwicklung openssl pkcs12 -in apns-div-cert.p12 -out apns-div-cert.pem -nodes -clcerts

Für die Produktion openssl pkcs12 -in apns-dist-cert.p12 -out apns-dist-cert.pem -nodes -clcerts

Benennen Sie Ihre P12-Datei in diesen Namen um: apns-div-cert.p12, andernfalls müssen Sie Ihren Dateinamen eingeben. Danke!!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X