2015-05-14 1 views
6

Ich habe Entwicklung und Produktion PEM-Dateien erstellt. Ich habe diese Schritte gefolgt:iOS - Wie überprüft man, ob die PEM-Datei gültig ist oder nicht?

1) developer.apple.com: AppIDs Abschnitt Check Bundle-ID unterstützt Entwicklung SSL-Zertifikat wenn kein dann das Zertifikat erstellen (die APNS)

2) offen Schlüsselanhänger

unterstützt

3) Klicken Sie mit der rechten Maustaste auf unser Zertifikat und exportieren Sie das Zertifikat.

4) Sie P12-Datei von hier bekommen: wie: hope_APNS.p12

5) offene Konsole (Terminal), und führen Sie folgenden Befehl ein (erstellt Verwendung P12-Datei hier als Eingabe) openssl pkcs12 -in apns-dev-cert.p12 -out apnss-dev-cert.pem -nodes -clcerts

6) Sie erhalten .pem-Datei für das gleiche. (wie hope_APNS.pem)

Entwicklung pem-Datei funktioniert gut. Aber es gibt einige in der Produktion PEM-Datei. Wenn ich die Produktion pem-Datei und senden Push-Benachrichtigung von der Konsole. Ich werde nicht auf mein Gerät drücken.

+0

gibt es keine Möglichkeit, PEM-Datei zu testen, wenn test.just nur Senden der PushNotifiction beim Erhalten von Antwort und überprüfen Fehler versuchen, zu lösen –

+0

haben Sie alle Schritte ordnungsgemäß folgen dann gibt es keinen Fehler passieren für beziehen alle Schritt aus dieser Antwort http://stackoverflow.com/questions/21250510/generate-pem-file-used-to-setup-a pple-push-notification –

+0

für die Entwicklung der Push-Token ist anders als Production.Are u Verwendung der gleichen Token? – Mukesh

Antwort

0

Es gibt viele Gründe, warum Sie möglicherweise keine Push-Benachrichtigungen über ein produktives .pem-Zertifikat auf Ihrem Gerät erhalten. Abgesehen davon, dass Sie sicher, generiert Sie die deutliche Produktions Zertifikat richtig, hier einige Dinge zu überprüfen:

  1. Sie haben eine Ad-Hoc oder Verteilung Build auf Ihrem Testgerät läuft , wenn eine Produktionsbescheinigung
  2. Prüfung
  3. Sie erfolgreich haben gesammelt, um die Produktion Push-Token der Vorrichtung (was immer von der Entwicklung Push-Token unterschiedlich sein)
  4. Sie können die Apple Push Notification Server PRODUCTION (gateway.push.apple.com, Port 2195) verbinden mit das neue Zertifikat (zB/ Sie sind in der Lage eine Socket-Verbindung zu öffnen und es nicht sofort nicht schließt)
  5. Sie haben geprüft, dass Ihr Zertifikat nicht
  6. abgelaufen ist

alles Failing, Sie wirklich brauchen, um zu überprüfen, was bei vorgeht die Netzwerkebene, wenn Sie etwas über dieses Zertifikat senden. Wenn es ungültig ist, wird es überhaupt keine Verbindung zu Apple herstellen. Wenn es gültig ist, aber das Push-Token, das Sie senden, von Apple nicht erkannt wird, wird ein Fehlercode zurückgegeben (wenn Sie die Binärschnittstelle verwenden), oder die Verbindung wird getrennt. Sie können auch in die APNS Feedback API schauen, um mehr Einblick zu bekommen, was falsch läuft.

Sie möchten vielleicht this beantworten und this andere Antwort für weitere Tipps.

+0

Ich habe die Produktion PEM-Datei widerrufen und neu erstellt. Es hat mein Problem gelöst. –

12

Das ist ein alter Thread, aber ich war auf der Suche nach der gleichen Antwort und hoffe, dass diese Lösung jemandem helfen ... arbeitete für mich.

Sie können Ihre PEM-Taste testen Sie den folgenden Befehl, die bis Sie die Eingabetaste drücken, wenn erfolgreich hängen sollte:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert pnpush. pem -key pnpush.pem

Das Obige testet den PEM Key im Sandbox-Modus. Für Produktionsmodus, verwenden Sie den folgenden Befehl ein:

openssl s_client -connect gateway.push.apple.com:2195 -cert pnpush.pem -Taste pnpush.pem

Dank Craig bei https://www.pubnub.com/knowledge-base/discussion/234/how-do-i-test-my-pem-key

+0

Dies sollte die Antwort sein. – Bryan

+0

@ kirti-parghi kümmern sich nicht darum, die Antwort zu akzeptieren :) – Nowdeen