Apple iOS IKEv2/IPSEC VPN Breaks After New Let’sEncrypt SSL Certificates Issued

certbot renewed my SSL certificates and automatically loaded them into strongswan. I am currently unable to establish an IPSEC tunnel from my iOS devices to my home VPN server with these new certificates.

Unfortunately in typical Apple tradition, there are no readily accessible logs to understand why the underlying IKE daemons in iOS are unhappy. Strongswan has no problems with the new certificates.

I examined the certificates (working vs. non-working) and see that Let’s Encrypt is now using an EC instead of RSA to generate the keypair.

Apple’s documentation states they support ECDSA certificates for IKEv2 authentication.

< Public Key Algorithm: rsaEncryption
< Public-Key: (2048 bit)
>             Public Key Algorithm: id-ecPublicKey
>                 Public-Key: (256 bit)
>                 ASN1 OID: prime256v1
>                 NIST CURVE: P-256

<                 Digital Signature, Key Encipherment
>                 Digital Signature

I found a similar reported issue here from last year: https://apple.stackexchange.com/questions/412089/ios-native-ikev2-client-and-ecdsa-server-certificates

Only other thing that is different is the Key Usage field does not include “Key Encipherment” as an allowed usage.

Changing Let’s Encrypt to force the generation of an RSA certificate resolves the issue.

Leave a Reply

Your email address will not be published. Required fields are marked *