2009-09-26 12 views
16

私はPEMは、だから私は私がしなければならないものを完全に混乱しています、他のマシンから生成Apple Push Notificationサービス

を認定しまったローカルMACマシンを使用して実行しようとしたが、次のエラーに

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/apns/apns-dev.pem’ in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: socket_close() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 11 

Warning: fclose() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 12 

を行きます今。

私はあなたが証明書ではなく、リンゴ用品その.cerファイルから秘密鍵をエクスポートしている可能性があることを考える私はlocalhostの

+0

私は同じprobleを持っています、私は私の地元のXAMPP Serverで実行することができています。 しかし、それは私の外部サーバーでは実行されていません。 – Biranchi

+0

こんにちはBiranchi、ちょうど1回の警告 警告を除いて、あなたの提案のための おかげでたくさんの偉大な作業 その、jessecurryハイテク –

答えて

60

でそれを実行するために何をする必要があるか教えてください。

markbatesからこれらの命令が出て役立つかもしれない:

あなたのアプリケーション、輸出 P12ファイルとしてあなたの鍵とリンゴの証明書の アップルからの証明書を持っていたら。

  1. は、キーチェーンアクセス の次の証明書に開示の矢印をクリックし、証明書と キーを選択します。ここではこれを行う方法について簡単にウォークスルー です。
  2. 右クリックし、Export 2 items…を選択します。
  3. ドロップダウンからp12形式を選択し、cert.p12という名前を付けます。

は今PEMファイルにP12ファイルをひそか:

$ openssl pkcs12 -in cert.p12 -out apple_push_notification_production.pem -nodes -clcerts 
+0

あなたの問題を解決するポート ホワイトリストのホスティングプロバイダに確認してください:socket_close():供給をリソースは有効なSocketリソースではありません。 問題の原因を教えてください。 –

+0

PHPエラーのようです。どのバージョンのPHPを使用していますか? socket_close()に何を渡していますか? – jessecurry

+1

iam(pHPバージョン5を使用) $ apns = stream_socket_client( 'ssl://'。$ apnsHost。 ':'。$ apnsPort、$ error、$ errorString、2、STREAM_CLIENT_CONNECT、$ streamContext); socket_close($ apns); –

関連する問題