My application is still under development and I used this tutorial to send iOS Push notifications using PHP and SSL.
http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
It worked, but recently it depreciated because Apple recently decided to abandon SSL, immediately affecting all applications in development and applications in production, until October 29 to change their code.
I would like to know how to do the same using TLS instead of SSL.
Here's how my php works, which worked:
$ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
I tried adding an Entrust certificate as Apple offers:
$ctx = stream_context_create(); stream_context_set_option($ctx, 'tls', 'local_cert', 'ck.pem'); stream_context_set_option($ctx, 'tls', 'passphrase', $passphrase); stream_context_set_option($ctx, 'tls', 'cafile', 'entrust_2048_ca.cer'); $fp = stream_socket_client('tls://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
But that still doesn't work. Do you have any suggestion to fix this?