Appleプッシュ通知サービス:証明書インストールサーバー側?
-
06-07-2019 - |
質問
プッシュ通知サーバーをセットアップするために、Appleプッシュ通知プロバイダーサーバーを構築する方法(チュートリアル)。
次のPHPコードで接続しようとすると
// connect to apns server
$strAPNSUrl = 'ssl://gateway.sandbox.push.apple.com:2195';
$strAPNSCert = 'dev.pem';
// generate stream
$oStreamContext = stream_context_create();
stream_context_set_option($oStreamContext, 'ssl', 'local_cert', $strAPNSCert);
// create the socket connection
$oAPNS = stream_socket_client($strAPNSUrl, $iError, $strError, 2, STREAM_CLIENT_CONNECT, $oStreamContext);
次の警告が表示されます
警告:stream_socket_client()[function.stream-socket-client]:SSL操作はコード1で失敗しました。OpenSSLエラーメッセージ:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert
Googleで見つけた情報に基づいて、問題は私の証明書のようです。
OS Xでcsrファイルとpemファイルを生成しています(チュートリアルの指示に従って、pemファイル)。 dev.pemを作成したら、それをホスティングプロバイダーにアップロードし、phpスクリプトを実行しようとしています。これは、作成して「インストール」する正しい方法ですか?証明書ですか?
デバッグのアイデアが尽きました。任意の方向が素晴らしいでしょう。
解決
dev.pem
へのパスがサーバーで正しくありませんでした。
指示は、実際に.pemファイルを生成する正しい方法です。一度作成すると、それを生成したマシンだけでなく、どのマシンでも使用できます。
他のヒント
サーバーで同じ.pemファイルを使用できましたか?そして、あなたが言ったように...どんなマシンでも。
このチュートリアルに従って、自分のマシン(証明書が生成されたもの)からメッセージを送信できましたが、すべてのファイルをコピーして別のマシンでスクリプトを実行しようとしましたが、同じエラーが発生しました。
別のマシンで動作させるにはどうしましたか? .pemファイルをインストールしましたか?特別な設定はありますか?
乾杯