最初に、 JavaPNSのドキュメントをチェックして、あまり期待しないエントリーを見てください。
* JAVA 7について*:
一部のユーザーは、Java 7の使用中(一般に、JavaPNSだけでなく)SSL接続の作成に問題があると報告しています。
この問題が完全に解決されるまで、Java 5または6でJavaPNSを実行してみてください。
SSL関連の接続の問題。
グーグルはほぼ同じ結果とヒントを提供します。 しかし、問題に関する1つの言及が見つかりました。
Java 7(JDK 1.7)は、Entrust Root CAを認識しません。 APNS証明書、キー、およびEntrust CAルート証明書をp12ファイルにインポートします。 そのファイルにコードを向けると、動作します。
一番下の行は、何らかの理由で、oracleはjre7からルート証明書Entrustを除外しました。
したがって、この証明機関についてjreに伝える必要があります。 オプション2、それを/ usr / lib / jre7 / ...に配置します(邪悪な管理者はルート権限を与えないが、何もインストールしたくないため、パスではありません)。2番目のオプションは、証明書と秘密鍵。 私たちがすること。
1.証明書をダウンロードする
curl https://www.entrust.net/downloads/binary/entrust_ssl_ca.cer > entrust_ssl_ca.cer
2. KeyChainにインポートし、およそ以下を受け取ります
3. 3つのエンティティを区別します:証明書、秘密鍵、ルート証明書Entrust
4. [3つのアイテムをエクスポート]を右クリックし、p12コンテナーを保存します(パスワードの入力を忘れないでください)
5.次に、このp12を使用してgateway.push.apple.comに接続し、ユーザーに