Zertifikat für den Apple Push Notification Service (APNS) erstellen

APNS-mixableHat man den Apple Push Notification Service (APNS) einmal eingerichtet, dann läuft alles ohne Probleme. Bis zu dem Tag, an dem das verwendete Zertifikat abgelaufen ist und keine Mitteilungen mehr verschickt werden. Standardmäßig ist das APNS Zertifikat 1 Jahr gültig. Und genau nach diesem Jahr beginnt die Prozedur der Zertifikatserstellung von vorn. Damit alles reibungslos läuft, hier eine kurze und knappe Schritt-für-Schritt-Anleitung wie man zu diesem Zertifikat kommt.

Certificate Signing Request (CSR) erstellen

  1. Die App Schlüsselbundverwaltung öffnen.
  2. Im Menü den Eintrag Zertifikat einer Zertifizierungsinstanz anfordern wählen.

apns-cert-01

  1. Im Zertifikatsassistenten die eigene E-Mail-Adresse und einen allgemeinen Namen eingeben.

apns-cert-02

  1. Option Auf der Festplatte sichern anwählen und fortfahren. Eine Datei (hier PushNotification.certSigningRequest) wird angelegt.

apns-cert-03

  1. Zurück zur Schlüsselbundverwaltung wechsel, dort sollten nun zwei neue Schlüssel mit dem im vorherigen Schritt angegebenen Namen auftauchen (privat und öffentlich).

apns-cert-05

  1. Privaten Schlüssel als PushNotification.p12 Datei exportieren. Beim Export ist ein Passwort anzugeben, was man sich gut merken sollte, da es später noch benötigt wird.

SSL-Zertifikat von Apple laden

  1. Im iOS Dev Center anmelden.
  2. Zu Certificates, Identifiers & Profiles wechseln.

apns-cert-06

  1. Zu Certificates unter dem Punkt iOS Apps wechseln.

apns-cert-07

  1. App ID auswählen, für welche man das APNS Zertifikat erstellen möchte. Wurde noch keine ID erstellt, dann lässt sich mit [+] eine neue ID erstellen.
  2. Eintrag mit einem Klick auf Edit bearbeiten

apns-cert-08

  1. Unter dem Punkt Push Notifications lassen sich die Zertifikate für Development und Production erstellen.

apns-cert-09

  1. Dem Wizard folgen.
  2. Die zuvor erstellte Datei PushNotification.certSigningRequest auswählen.

apns-cert-10

  1. Zertifikat downloaden. Man erhält die Datei aps_development.cer (für Development) oder aps_production.cer (für Production).

apns-cert-11

Hinweis: Das production-Zertifikat ist für ein Jahr gültig. Es sollte regelmäßig erneuert werden, damit es nicht zu Ausfallzeiten kommt.

PEM-Datei generieren

Man sollte nun drei Dateien haben:

  • CSR Datei: PushNotification.certSigningRequest
  • Privater Schlüssel: PushNotification.p12
  • SSL Zertifikat: aps_development.cer oder aps_production.cer

Diese sollten sich alle in einem Ordner befinden. Für die Erstellung der PEM-Datei werden die command-line OpenSSL Tools benötigt. Erstellt wird die Datei mit folgenden Schritten:

  1. Ins entsprechende Verzeichnis wechseln.
$ cd /pfad/zu/den/dateien/
  1. .cer in eine .pem-Datei umwandeln.
$ openssl x509 -in aps_development.cer -inform der -out PushNotificationCert.pem
  1. .p12 in eine .pem-Datei umwandeln.
$ openssl pkcs12 -nocerts -out PushNotificationKey.pem -in PushNotification.p12
Enter Import Password: 
MAC verified OK
Enter PEM pass phrase: 
Verifying - Enter PEM pass phrase:

Zuerst ist das Passwort der zuvor erstellten .p12-Datei notwendig, damit OpenSSL die Datei lesen kann. Danach muss ein neues Passwort eingegeben werde, mit dem die .pem-Datei verschlüsselt wird.

Hinweis: wird kein Passwort angegeben, dann gibt OpenSSL keinen Fehler aus. Die generierte .pem-Datei enthält allerdings auch keinen privaten Schlüssel.

  1. Abschließend das Zertifikat und den privaten Schlüssel zusammenfügen.
$ cat PushNotificationCert.pem PushNotificationKey.pem > ck.pem

Zertifikat testen

Testen kann man das Zertifikat mit folgendem Befehl:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushNotificationCert.pem -key PushNotificationKey.pem
Enter pass phrase for PushChatKey.pem:

Hinweis: es gibt verschiedene Server für Development und Production. Im obigen Befehl sollte also der Server entsprechend angepasst werden, je nachdem welches Zertifikat man gerade testet.

Die Server:

  • Production: gateway.push.apple.com:2195
  • Development: gateway.sandbox.push.apple.com:2195

Und in Summe?

Wer eine komplette Anleitung zum Einrichten von Push Notifications unter iOS sucht, der findet eine sehr gute hier.

One comment on “Zertifikat für den Apple Push Notification Service (APNS) erstellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.