Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between development and production SSL certificates in iOS?

This is maybe a strange question but it is really confusing me. Why do we have to create a development and a production SSL certificate for push notifications in iOS? What is the difference between the development and the production certificates?

I am developing an iOS app with Push notifications (handled by a self-hosted Parse Server) and when I switch my environment from development to production (with a production certificate), I don't receive the push notifications anymore on my devices. Will it work once I upload this app to the app store (then, it will be in production)? Or can I "test" my production environment to be sure the notifications will work in my app once published on the app store?

like image 500
fraxool Avatar asked Feb 25 '16 11:02

fraxool


People also ask

What are the differences between development and production iOS signing certificates?

With development you can debug your notification functionality but with production its not .

What is development certificate in iOS?

An iOS developer certificate is a code-signing certificate, a digital signature that associates you and your digital identity with your applications. On the Mac, you must create and submit a request for an iOS development certificate. For more information, see the Apple documentation.

What is development certificate?

A development certificate is how Apple devices verify that your App comes from a trusted source and is required in order to publish your App! We will also walk through setting up a provisioning profile, which is a manifest of all the developers and devices that are linked to your account.


2 Answers

Apple uses different servers for sending push notifications to development versions and app store versions of the app. The development version is called Sandbox. The iOS maintains persistent connection to the its push servers depending on whether its development version or production version. Based on which certificate your app is signed (Dev or App Store/Ad Hoc) it will create a persistent connection to the respective push server. Since the two servers are different they will need different SSL certificates to establish a secure connection to the server.

For more info refer:

https://developer.apple.com/library/ios/technotes/tn2265/_index.html

like image 134
Pradeep K Avatar answered Oct 22 '22 00:10

Pradeep K


If you are testing a push notifications in your app that time you easily check through debugging mode for this purpose you need Development SSL certificate. If you uploaded the app into App Store that time you need to add Production SSL certificate (for live app push notifications purpose you want to add production SSl).

like image 28
bAthi Avatar answered Oct 22 '22 01:10

bAthi