2012-12-08 8 views
5

Ich habe nach einer Antwort gesucht und kann es nicht finden. Ich sende PUSH-Benachrichtigungen an verschiedene Varianten meiner Apps. Ich habe das zuvor eingerichtet, um jedes Zertifikat durchzuspielen und es mit dem App-Typ des Benutzers abzugleichen. Effektiv erstelle ich eine neue SSL-Verbindung für jedes Zertifikat und sende dann Benachrichtigungen für dieses bestimmte Zertifikat.Mehrere APNS-Zertifikate in derselben Zertifikatsdatei

Es ist ein wenig mühsam, alle diese Zertifikate zu konvertieren und sie zu installieren, wenn sie ablaufen. Ich kann mehrere Zertifikate aus dem KeyChain-Zugriff als eine einzige p12-Datei exportieren und sie konvertieren, was die Verwaltung der Zertifikate vereinfacht. Das Problem besteht darin, dass keine PUSH-Benachrichtigungen empfangen werden. Ich kann mich erfolgreich mit dem APNS verbinden und es gibt keine Probleme, die vom Feedback-Service gemeldet werden, aber nichts scheint zu passieren. Dies führt zu der Annahme, dass der APNS nur das erste Zertifikat in der Datei verifiziert und andere ignoriert, die eine erfolgreiche Verbindung ermöglichen würden, aber wahrscheinlich die Zustellung der Benachrichtigungen verhindern würden. In diesem Fall würde ich eine unterbrochene Verbindung oder etwas erwarten, das auf dem Feedback-Service berichtet wird, und bis jetzt habe ich keines von beiden gesehen.

Hat jemand einen Einblick darin, dies erfolgreich zu tun? Vielen Dank.

Antwort

3

Lassen Sie mich das wiederholen: Sie haben mehrere Zertifikate in einem einzigen Container/Sammlung/was auch immer, und Sie verwenden, um eine gegenseitig authentifizierte SLL-Sitzung mit APNS zu etablieren. Sie senden dann eine Anfrage für ein oder mehrere Geräte, die mit einem der Zertifikate verbunden sind, und es funktioniert nicht. Ist das genau?

Wenn ja, dann denke ich, Ihre Zusammenfassung des Problems ist richtig. Die Reihenfolge der Ereignisse besteht darin, dass das Zertifikat beim Einrichten der SSL-Sitzung ausgewertet wird. Das ist ein Teil des Netzwerkprotokolls, und an diesem Punkt des APNS Server MUSS wählen, welche zu verwenden cert. Wenn Sie dann eine Anfrage senden, überprüft der "Anwendungsserver" nur, dass das Geräte-Token die gleichen Kontoinformationen wie das Zertifikat enthält. Ihr Szenario ist nicht trivial und es besteht keine Chance, dass es funktioniert, es sei denn, Apple hat ausdrücklich Anstrengungen unternommen, es zu unterstützen. In diesem Fall hätte ich erwartet, dass es in den Entwicklerdokumenten erwähnt wird. Es ist nicht.

In diesem Fall werden Sie nichts in dem Feedback-Service sehen entweder, da das Feedback nur gesammelt werden/für Geräte gesendet, die mit dem Konto in den cert zugeordnet sind.

BTW Wenn Sie das erweiterte Format des APNS-Protokolls verwenden, können Sie während des Sendens Fehlerreaktionen lesen. Weitere Informationen finden Sie unter programming guide.

+0

Yup, Sie haben es. Ich dachte, dass der Fall war, ich wollte es nur dort kannte einen Weg, falls jemand löschte, damit es funktioniert. Danke für die Bestätigung. – greg

Verwandte Themen