Self-signed certificates in iOS apps

How to register self-signed certificates on your iPhone/iPad to use them in Cordova hybrid apps

Ronny Roeller
NEXT Engineering
2 min readJan 22, 2019

--

Apps should communicate securely via SSL with their backend. Self-signed certificates are an inexpensive option to use SSL communication also in development environments.

By default, iOS will block all communication attempts of a Cordova app with a self-signed certificate. You will see an error message along those lines:

The error code 9807 points to an invalid certificate chain because your self-signed certificate wasn’t based on one of iOS’s trusted root certificates (like Comodo or GoDaddy).

So how to make iOS accept your self-signed certificate?

First, email your root certificate (e.g. fake-root-cert.pem) to yourself. Next, open the email on your phone, and click the attachment. This will open the iOS Setting up and offer you to install the certificate as a Profile.

Click on emailed certificate to install it as Profile

Second, instruct iOS to fully trust the installed root certificate. For this, open again the iOS Settings app. Then navigate to “General” > “About” > “Certificate Trust Settings”. In the section “Enable Full Trust for Root Certificates”, enable your root certificate.

Trust your root certificate

With this, your app can connect now with the self-signed certificate to the backend.

Happy coding!

--

--

NEXT Engineering
NEXT Engineering

Published in NEXT Engineering

NEXT is collaborative product discovery platform. Product teams at hundreds of organizations including Deloitte, Canon, Bosch, CGI, and BASF use NEXT to engage with their customers and gather evidence of their unmet needs and aspirations to inform their product decisions.

Ronny Roeller
Ronny Roeller

Written by Ronny Roeller

CTO at nextapp.co # Product discovery platform for high performing teams that bring their customers into every decision