2012-12-08 16 views
5

私はこれに対する回答を探していて、それを見つけることができません。 PUSH通知を私のアプリの複数のフレーバーに送信します。私はこれまで、これを各証明書をループするように設定し、それをユーザーのアプリケーションタイプと照合しました。効果的に私は各証明書のための新しいSSL接続を作成し、その特定の証明書のための通知を送ります。複数のAPNS証明書が同じ証明書ファイルにあります

これらの証明書をすべて変換して期限が切れたときにインストールするのはちょっと面倒です。 KeyChainのアクセスから複数の証明書を1つのp12ファイルとしてエクスポートし、証明書管理の観点から単純なものにするのに役立ちます。問題は、PUSH通知が受信されていないということです。私はAPNSに正常に接続でき、フィードバックサービスによって問題は報告されていませんが、何も通過していないようです。これは、APNSがファイル内の最初の証明書だけを検証していて、正常な接続を可能にする他のものを無視しているが、通知の配信を妨げている可能性が高いと考えています。この場合は、接続が切断されたり、フィードバックサービスに報告されたものがあると思います。これまでのところ私は見たことがありません。

これを成功させるための洞察はありますか?ありがとうございました。

答えて

3

私は、複数の証明書を1つのコンテナ/コレクションにまとめてパッケージ化しており、APNSとの相互認証されたSLLセッションを確立するためにその証明書を使用しています。次に、いずれかの証明書に関連付けられた1つまたは複数のデバイスに対する要求を送信し、動作しません。それは正確ですか?

もしそうなら、問題の概要が正しいと思います。一連のイベントは、SSLセッションの確立中に証明書が評価されることです。これはネットワークプロトコルの一部です。その時点でAPNSサーバは、使用する証明書を選択する必要があります。次に、リクエストを送信すると、「アプリケーションサーバー」は、デバイストークンに証明書と同じアカウント情報が含まれていることを検証します。あなたのシナリオは簡単ではなく、Appleが明示的にそれをサポートする努力をしなければ、そのシナリオは機能しません。その場合、私はそれが開発者文書に記載されることを期待していました。そうではありません。

この場合、フィードバックは、証明書のアカウントに関連付けられているデバイスについてのみ収集/送信されるため、フィードバックサービスには何も表示されません。

BTW APNSプロトコルの拡張形式を使用している場合、送信中にエラー応答を読み取ることができます。詳細は、programming guideを参照してください。

+0

よろしいですか。私はそれが事実だと思った、私はちょうど誰かがそれを働かせる方法を知っていた場合にそれをそこに置くことを望んでいた。確認していただきありがとうございます。 – greg

関連する問題