Apple’s Push Notifications and Certificate Requests

A project i’ve been working on for several months now requires Apple’s Push Notifications (APNs) and we were stuck on a bug for nearly a week. Notifications were being sent through via the sandbox environment (gateway.sandbox.push.apple.com) but were not on the production environment (gateway.push.apple.com).

I had gone through all the documentation, generated my cert request, submitted it, downloaded it, installed it on our push provider service. Everything seemed right.

What’s more is that their production servers weren’t returning any error status. It was as if the notifications were going through just fine from our server’s side. The Feedback service wasn’t much help either because the tuples that were coming back were all zeros. But the fact that it was coming back with something told us there was something wrong. We just didn’t know what it was.

To make an already long story short, the fix was to create a new, separate, Certificate Request for your production environment. To reiterate, do not use the same Certificate Request go generate both sandbox and production certificates.

It was a painful week. But who knew right?