Verwendung des neuen .p8-Zertifikats von Apple für APNs in der Firebase-Konsole


83

Bei der kürzlich erfolgten Aktualisierung der Apple-Entwicklerkonten habe ich die Schwierigkeit, dass ich beim Erstellen der Push-Benachrichtigungszertifikate ein (.p8) -Zertifikat anstelle von APN-Zertifikaten erhalte, die nach (.p12) exportiert werden können.

Die Firebase-Konsole akzeptiert nur (.p12) Zertifikate, damit ich das aus diesen neuen (.p8) Zertifikaten herausholen kann.


1
Woher bekommen Sie das .p8-Zertifikat? Ich kann die .p12 weiterhin aus meinem KeyChain erstellen.
Ragul

Ich habe meine Lizenz für das Apple-Konto vor 2 Tagen aktualisiert und es gibt mir .p8-Zertifikate anstelle von p12 direkt, ohne nach der CSR-Datei zu
fragen

Kannst du eine Lösung bekommen?
Dhaval Bhadania

@ DhavalBhadania Ich habe meine Antwort unten gepostet
Subso

Antworten:


65

Ich konnte dies tun, indem ich "Alle" unter der Überschrift "Schlüssel" in der linken Spalte auswählte

Geben Sie hier die Bildbeschreibung ein

Dann habe ich auf das Pluszeichen in der oberen rechten Ecke geklickt, um einen neuen Schlüssel hinzuzufügen

Geben Sie hier die Bildbeschreibung ein

Geben Sie einen Namen für Ihren Schlüssel ein und aktivieren Sie "APNs".

Geben Sie hier die Bildbeschreibung ein

Scrollen Sie dann nach unten und wählen Sie Weiter. Sie werden dann zu einem Bildschirm weitergeleitet, auf dem Sie die Möglichkeit haben, Ihre .p8 jetzt oder später herunterzuladen. In meinem Fall wurde mir eine Warnung angezeigt, dass es nur einmal heruntergeladen werden kann, also bewahren Sie die Datei sicher auf.


4
Vielen Dank, das Entwicklerkonto wurde aktualisiert. Es gibt nicht mehr APNs Auth KeysinCertificates
Djiggy

Danke, du hast mich gerettet!
Sioesi

@ John kannst du mir helfen, ich stecke seit ein paar Tagen fest. Ich kann fcm nicht zum Laufen bringen .. stackoverflow.com/questions/50292269
bibscy

Der Schlüssel läuft möglicherweise nicht ab, "Bereitstellungsprofile" jedoch. Müssen sie noch Push-Benachrichtigungen senden, oder können wir sie sicher entfernen? Danke
andreszs

5
@ John Idasetima Ich bin verwirrt, wie diese die Frage beantworten - was Firebase war, akzeptiert nur p12, aber der neue Schlüssel ist p8. Ihre Antwort sagt nur, wie man den Schlüssel als p8 herunterlädt . Wollen Sie damit sagen, dass Firebase sowohl p8 als auch p12 akzeptiert?
Gruntcakes

28

Apple hat kürzlich neue Änderungen an den APNs vorgenommen. Apple besteht nun darauf, dass wir "Token Based Authentication" anstelle der herkömmlichen Methoden verwenden, die wir für die Push-Benachrichtigung verwenden.

Sie müssen sich also keine Sorgen um deren Ablauf machen, und diese p8-Zertifikate sind sowohl für die Entwicklung als auch für die Produktion vorgesehen. Sie müssen also nicht für jeden Modus zwei separate Zertifikate generieren.

Um p8 zu generieren, gehen Sie einfach zu Ihrem Entwicklerkonto und wählen Sie diese Option "Apple Push Notification Authentication Key (Sandbox & Production)".

Geben Sie hier die Bildbeschreibung ein

Dann wird direkt p8-Datei generiert.

Ich hoffe, dies wird Ihr Problem lösen.

Lesen Sie diese neuen APNs-Änderungen von Apple: https://developer.apple.com/videos/play/wwdc2016/724/

Sie können dies auch lesen: https://developer.apple.com/library/prerelease/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html


1
Können wir .p8 in .PEM konvertieren?
Dimple Shah

Jede Plattform, die .p8 benötigt, benötigt keine .PEM-Datei. Wenn sie noch benötigt wird, müssen Sie sie separat machen
Hardik Shah

1
Ich denke, Firebase unterstützt die Verwendung von APNs Auth Keys (.p8) noch nicht. Gleichzeitig ist es jetzt einfacher, dies einfach von Ihrem eigenen Server aus zu tun.
Andre Cytryn

2
Danke - Ich verwende keine Firebase, aber ich fand diese Antwort am hilfreichsten für den Wechsel von .pem- zu .p8-Dateien. Ich fand diese Schritt-für-Schritt-Anleitung von Apple auch von unschätzbarem Wert. Es war der nächste Schritt für mich, nachdem ich Ihrer Antwort gefolgt war
kris

4
@HardikShah Diese Option "Apple Push-Benachrichtigungsauthentifizierungsschlüssel (Sandbox & Produktion)" ist nicht verfügbar. Warum?
Balasubramanian

21

Nachdem ich eine Weile gebraucht hatte, stellte ich fest, dass der alte Push-Zertifikat-Generierungsdienst auch existiert.

Sie haben zwei Möglichkeiten:

  • Apple Push-Benachrichtigungsauthentifizierungsschlüssel (Sandbox & Produktion)
  • Apple Push-Benachrichtigungsdienst SSL (Sandbox & Production)

Diejenigen, die das .p12-Zertifikat im alten Stil erhalten möchten, können es von der zweiten Option erhalten. Ich habe die erste Option noch nicht verwendet, da die meisten Push-Benachrichtigungsdienstanbieter von Drittanbietern weiterhin das Zertifikat im P12-Format benötigen.

Beispielbild des Push-Benachrichtigungsdienstes


2
Diese Option "Apple Push-Benachrichtigungsauthentifizierungsschlüssel (Sandbox & Produktion)" ist nicht verfügbar. Warum ?
Balasubramanian

2
Ich kann diese Option auch nicht in Developer.apple.com finden. Gibt es eine andere Möglichkeit, diese p8-Datei zu erstellen? oder ein p12 in p8 umwandeln?
Parth Mehta

@ParthMehta Hast du eine Lösung dafür bekommen?
Balasubramanian

2
Hier gilt das gleiche. Ich sehe keine Apple Push Notification Authentication Key Option
ckim16

1
Ebenso ist die Option "Authentifizierungsschlüssel" für mich nicht verfügbar :(
Axel Guilmin

15

Die Firebase-Konsole akzeptiert jetzt .p8-Dateien. Es wird sogar empfohlen, .p8-Dateien hochzuladen.

Sie können im unten angehängten Screenshot sehen


3
Bitte korrigieren Sie mich, wenn dies falsch ist, aber dieses App-ID-Präfix ist tatsächlich die Team-ID, die auf der Seite mit den Mitgliedschaftsinformationen gefunden wurde , oder? Weil der Tooltip eindeutig besagt, dass er sich auf der Seite mit den Mitgliedschaftsinformationen befindet und sogar mit dieser verknüpft ist.
andreszs

2
Auf welche "Schlüssel-ID" wird dort verwiesen? Betrachten Sie mich als Noob.
Umair Ahmed

2
@UmairAhmed Die Zeichenfolge des Gerätetokens, das Sie erhalten, wenn Sie sich für Push-Benachrichtigungen registrieren möchten.
Huy-Anh Hoang

1
Nein, es ist nicht das Geräte-Token. Es ist die Zeichenfolge nach dem Unterstrich im Namen der .p8-Datei. So ---> AuthKey_A5HG8NYIFC.p8. Sie können es auch sehen, nachdem Sie den Schlüssel im Menü Schlüssel im Abschnitt Zertifikate, Kennungen und Profile auf der Apple Developer Website erstellt haben.
Somoy Das Gupta

8

Folge diesen Schritten:

1. Generieren eines APNs-Authentifizierungsschlüssels
Öffnen Sie die Seite APNs-Authentifizierungsschlüssel in Ihrem Developer Center und klicken Sie auf die +Schaltfläche, um einen neuen APNs-Authentifizierungsschlüssel zu erstellen .

Geben Sie hier die Bildbeschreibung ein

Wählen Sie auf der nächsten Seite den Apple Push Notification Authentication Key (Sandbox & Production) aus und klicken Sie unten auf der Seite auf Weiter.

Geben Sie hier die Bildbeschreibung ein

Apple generiert dann eine .p8Schlüsseldatei mit dem Authentifizierungsschlüssel Ihres APN.

Geben Sie hier die Bildbeschreibung ein

Laden Sie die .p8Schlüsseldatei auf Ihren Computer herunter und speichern Sie sie für später. Notieren Sie sich außerdem die Schlüssel-ID irgendwo, da Sie sie später benötigen, wenn Sie eine Verbindung zu APNs herstellen.

2. Senden Sie Push-Benachrichtigungen

Ref: APNS (Push-Benachrichtigungen konfigurieren)

Wichtig: Speichern Sie eine Sicherungskopie Ihres Schlüssels an einem sicheren Ort. Es wird nicht erneut angezeigt und kann später nicht mehr abgerufen werden.


3
Der Auth Key von APN ist in meinem Entwicklerportal nicht vorhanden. Weiß jemand warum?
ckim16

@ ckim16 - Es kann einmal generiert werden und ist nicht mehr sichtbar (entfernt die APNS Auth-Schlüsseloptionen). Hier finden Sie Verweise auf Ihre Anfrage (help.apple.com/xcode/mac/current/#/…). Wenn Sie es zuvor generiert haben, ist es für Sie nicht mehr sichtbar.
Krunal

Ich frage mich, ob Ihr Link nur für Personen funktioniert, die für ein Apple Developer-Konto bezahlt haben. Für mich leitet es zu developer.apple.com/account/#/welcome
Ryan

@Krunal Ich habe in den letzten Tagen versucht, mithilfe der .p8-Datei eine Verbindung zu Firebase-Cloud-Messaging herzustellen, und kann es nicht zum Laufen bringen. Könnte bitte einen Blick auf meine Fragen stackoverflow.com/questions/50292269
bibscy

Es wird keine p8-Datei für mich heruntergeladen: - |
Oliver Dixon

3

Wenn Sie Ihre p8-Datei in Firebase hochladen, geben Sie in das Feld App ID Prefix (erforderlich) Ihre Team-ID ein. Sie können es unter https://developer.apple.com/account/#/membership herunterladen und die Team-ID wie unten gezeigt kopieren / einfügen.

Geben Sie hier die Bildbeschreibung ein


2
Danke, genau das habe ich gesucht. Das Etikett in der FCM-Konsole ist eindeutig falsch, und selbst ein Jahr später hat niemand diesen Fehler bemerkt.
andreszs

2

Sie können die .p8-Datei dafür unter https://developer.apple.com/account/ erstellen.

Gehen Sie dann zu Zertifikate, Kennungen und Profile> Schlüssel> Hinzufügen

apple_key

Wählen Sie Apple Push Notification Service (APNs) und geben Sie einen Schlüsselnamen ein (was auch immer).

Klicken Sie dann auf "Weiter", nach "Registrieren" und Sie erhalten es und können es herunterladen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.