iOS 13 certificate chain and certificate requirements

Dear All,


The topic (short description):

I am running my own CA including root-ca and issuing-ca powered by OpenXPKI (https://www.openxpki.org/).

This CA provides certificates to multiple web servers and all my clients (Windows, Linux & Android),

have the root-ca and issuing-ca certificate installed in a working setup, except for my iPhone8.


Detailed description:

I now tried to install the same certificates to my iOS 13.3 powered iPhone 8 doing the following steps:

1. transfer root-ca and issuing-ca certificate to the device

2. select the root-ca certificate on "files" app -> "Profile Downloaded" popup appears

3. select the issuing-ca certificate on "files" app -> "Profile Downloaded" popup appears

4. navigate to settings -> general -> profiles & device management

5. Both certificate profiles are listed within "Downloaded profile"

6. select root-ca -> install -> enter pass code -> select install -> select Done; profile is now listed within "Configuration Profiles"

7. select issuing-ca -> install -> enter pass code -> select install -> select Done; profile is now listed within "Configuration Profiles"

8. navigate to settings -> general -> about -> certificate trust settings

9. select the root-ca certificate and enable it for full trust (issuing-ca certificate is not available there)


If I now try to browse one of my web pages using safari app, safari keeps loading / reloading all the time without any content (about first 10% of the blue load bar is shown, then reset - the "aA" sign on left and the reload arrow on the right of the search/address bar is flickers).

As soon as I:

1. navigate to settings -> general -> about -> certificate trust settings

2. select the root-ca certificate and disable it for full trust

The web page loads correctly again, but with error of untrusted page.


Different browser apps (tested with Chrome, Firefox and Brave) display always the "untrusted page" error, independently of of the "full trust" enabled or not.


Based on https://support.apple.com/en-us/HT210176 I have already validated the (from my point of view correct) settings of my certificates which are as follows:


root-ca certificate:

RSA key size: 4096 bit

Hash alogrithm: sha256WithRSAEncryption

no Subject Alternative Name

no Extended Key Usage for TLS Web Server Authentication

validy period: 3655 days


issuing-ca certificate:

RSA key size: 4096 bit

Hash alogrithm: sha256WithRSAEncryption

no Subject Alternative Name

no Extended Key Usage for TLS Web Server Authentication

validy period: 1828 days


web server certificate:

RSA key size: 2048 bit

Hash alogrithm: sha256WithRSAEncryption

SAN: server FQDN, server IP, server netbios name, server public FQDN

Extended Key Usage for TLS Web Server Authentication

validy period: 183 days


I furthermore check the webserver url using:

"TLS Inspector" app which shows me "Untrusted Chain"

"SSLDetective+" app which shows me "Certificate Chain Trusted"


I of course tried to reboot the iPhone, too (which I think is mostly a more windows error troubleshooting task :))


As a last information:

The device is company managed via MobileIron.

This means there are two other root-ca certificates which are "fully trust" enabled

and one additional profile within the "profiles & device management" listed in the topic of "Mobile Device Management". These configurations are not editable by myself.


My questions:

Does anyone know how I can see where iOS sees the certificate chain broken?

Did I do anything wrong the way how I installed the root-ca and issuing-ca?

Maybe some further ideas on troubleshooting?


Thank you for any input & help

Posted on Dec 22, 2019 4:51 AM

Reply

Similar questions

1 reply

Jan 30, 2020 2:14 PM in response to mk-maddin

Hi Mk-Maddin,


I have recently updated an SSL certificate to meet Apple iOS 13 requirements as stated in this document https://support.apple.com/en-us/HT210176. I'm currently having an issue getting iOS iPad running iOS 13 after an update to connect to the server. Do you know if Apple requires all certificates in the trust chain (example Root CA certs) of the SSL certificate to meet the same requirements that I've pasted below which are from the document above?


•            

TLS server certificates and issuing CAs using RSA keys must use key sizes

greater than or equal to 2048 bits. Certificates using RSA key sizes smaller

than 2048 bits are no longer trusted for TLS.


•            

TLS server certificates and issuing CAs must use a hash algorithm from the

SHA-2 family in the signature algorithm. SHA-1 signed certificates are no

longer trusted for TLS.


•            

TLS server certificates must present the DNS name of the server in the Subject

Alternative Name extension of the certificate. DNS names in the CommonName of a

certificate are no longer trusted.


•            

TLS server certificates must contain an ExtendedKeyUsage (EKU) extension

containing the id-kp-serverAuth OID.


•            

TLS server certificates must

have a validity period of 825 days or fewer (as expressed in the NotBefore and

NotAfter fields of the certificate).

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

iOS 13 certificate chain and certificate requirements

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.