質問

プッシュ通知サーバーをセットアップするために、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ファイルをインストールしましたか?特別な設定はありますか?

乾杯

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top