私はPyAppNSを使ってiPhoneアプリにプッシュ通知を送信しようとしています。私たちはアップルのデベロッパーセンターから証明書を取得するプロセスを完了しました。これはうまく動作します。しかし、証明書と秘密鍵を単一の.pemファイルにまとめる方法についてはいくつかのチュートリアルに従ってきましたが、そのすべてについて、WebサーバのOpenSSLを使用してAPNSサーバに接続しようとすると、このエラー:APNSに接続できません:リターンコード20(ローカル発行者証明書を取得できません)
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns.pem
CONNECTED(00000003)
depth=1 C = US, O = "Entrust, Inc.", OU = www.entrust.net/rpa is incorporated by reference, OU = "(c) 2009 Entrust, Inc.", CN = Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
[...certificate chain, server certificate, etc.]
時々、私たちはこのすべての終わりに何かを入力することができるしていると我々はEnterキーを押すまで、接続が閉じない、時々ではない(それはすぐに閉じます)が、我々はに表示された場合にもプッシュ通知を送信しようとするとPyAPNSが失敗し、エラー「Fault 500: 'APNSサーバへの接続ができませんでした。」というメッセージが表示されます。これは、ローカル発行者の証明書を取得することができません " - 私は理由が何であるか分かりません。私たちは、次のされています
チュートリアルが含まれます:
http://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/
http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
http://www.nasoni.net/2010/12/02/apns-client-development-certificate/
はい、私たちは、秘密鍵とそれからパスワードを削除されています私たちが協力しようとするときにそれを求めないOpenSSLと接続すると、おそらくその部分はうまくいきます。
何が問題になるのかわかりません。激しく、これらのチュートリアル(とアップル、明らかに)は、あなたがMacを使用しているということを考えると、私はWindows上で開発していますが、私が使っているサーバーはUbuntuです。 Macにいる私の同僚は、サーバーにアップロードして最終ステップを実行するために結果ファイルを私に送信する前に、最初のステップのさまざまなプレフィックスを実行しています。それは何とかそれと関係がありますか?または、必要なサーバーセットアップのステップがどこからも省かれていますか?
あなたがキーをエクスポートしました証明書?これは通常最初の問題です –
gateway.sandbox.push.apple.comに接続すると["verify error:num = 20"となる可能性があります](http://stackoverflow.com/q/23343910)。 – jww