0

APNS を使用してプッシュ通知を送信しようとしています。異なるプロビジョニング プロファイルを使用して生成された異なるアプリのセットがあります (異なる Apple アカウント用)。例: Apple プロファイル X を使用して開発されたアプリ ABC と、同じプロファイル X のプロバイダー証明書を使用する APNS コードがあります。この証明書を使用してプッシュ通知を送信すると、アプリに適切に配信されます。

しかし、Apple プロファイル Y を使用して生成されたプロバイダー証明書を使用すると、プロファイル X を使用して開発されたアプリにメッセージが配信されません。

プッシュ通知用にサーバーに登録されているアプリに通知を送信したい場合、どの種類のプロバイダー証明書を使用すればよいですか?

任意のアプリにメッセージを送信できる汎用プロバイダー証明書はありますか?

クロス証明書シナリオでテストすると、次の例外が発生します。

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
       at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
       at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1586)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:865)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:677)
       at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
       at 

同じプロファイルのアプリで機能するため、使用している証明書が正しいと確信しています。

必要に応じて、さらに説明を求めてください。

4

1 に答える 1

0

1 つの証明書を使用して APNS を複数のアプリケーションに送信することはできません。あるアプリ用に生成された証明書を使用して APNS を別のアプリに送信することはできません。各証明書は単一のアプリケーションに関連付けられており、そのアプリケーションにプッシュ通知を送信するためにのみ使用できます。それに加えて、アプリごとに、サンドボックス環境用に 1 つの証明書と、運用環境用に 1 つの証明書を生成できます。サンドボックス証明書を使用して、運用証明書で構築されたアプリに APNS を送信したり、その逆を行ったりすることはできません。

于 2012-11-01T21:11:10.120 に答える