Wie erstelle ich eine .pem-Datei, die auf dem Hosting-Server für APN-Nutzdaten gespeichert wird?
Für die meisten Bildschirmfotos in einer Antwort.
Wie erstelle ich eine .pem-Datei, die auf dem Hosting-Server für APN-Nutzdaten gespeichert wird?
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:
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.
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.
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.
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.
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.
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.
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.
Sobald die Zertifizierungsanforderung erstellt ist, laden Sie sie in das Apple Developer Center hoch. Apple erstellt das Push-Benachrichtigungszertifikat anhand der Signierungsanforderung.
Ihr Entwickler-Schlüsselbund sollte nun das Push-Zertifikat mit einem privaten Schlüssel unter Meine Zertifikate in Keychain Access:
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.
Haben Sie einen fehlenden Screenshot? Siehe "CER-Push-Zertifikat herunterladen" am Ende Ihrer Antwort
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?
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
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.
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!
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 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.
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.