Reputation: 894
unable to get this getting these errors when running PHP in terminal as php simplepush.php
Warning: stream_socket_client(): Unable to set private key file `/users/accenture/Desktop/newAPNS/ck.pem' in /users/accenture/Desktop/newAPNS/simplepush.php on line 22
Warning: stream_socket_client(): failed to create an SSL handle in /users/accenture/Desktop/newAPNS/simplepush.php on line 22
Warning: stream_socket_client(): Failed to enable crypto in /users/accenture/Desktop/newAPNS/simplepush.php on line 22
Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /users/accenture/Desktop/newAPNS/simplepush.php on line 22
Failed to connect: 0
I created all certificates and pem file by using raywenderlich article, http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1#comments
Upvotes: 21
Views: 24568
Reputation: 894
Problem is pem file wasn't correct, I created pem file using http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 . Creation of p12 file and with p12 creating pem file are not working for me. Correct process to create p12 and with p12 creating pem file as bellow
Once you have the certificate from Apple for your application, export your key and the apple certificate as p12 files. Here is a quick walkthrough on how to do this:
Now convert the p12 file to a pem file:
$ openssl pkcs12 -in cert.p12 -out apple_push_notification_production.pem -nodes -clcerts
This is working for me, now I am getting a push notification.
Upvotes: 66
Reputation: 1554
I have followed a youtube tutorial which is nearly same as raywenderlich article. I've just forgot to add PEM pass phrase. After adding it, as described here, it worked:
stream_context_set_option($ctx, 'ssl', 'passphrase', 'MyPassPhrase');
Upvotes: 0
Reputation: 714
Converting the key file to pem recommend in http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 was causing problems for me.
Running
openssl pkcs12 -in keyname.p12 -out keyname.pem -nodes -clcerts
instead of the
openssl pkcs12 -nocerts -out keyname.pem -in keyname.p12
solved my issues.
Upvotes: 9