Skip to content

Server Trust Store Update for Apple's New APNs Root Certificate ​

Understanding the Apple APNs Root CA Change ​

Apple announced a critical update to their Apple Push Notification service (APNs) infrastructure:

"The Certification Authority (CA) for APNs is changing [...] All developers using APNs will need to update their application's Trust Store to include the new server certificate: SHA-2 Root : USERTrust RSA Certification Authority certificate."

Key deadlines for this transition:

  • Sandbox Environment: January 20, 2025
  • Production Environment: February 24, 2025

Who Needs to Take Action? ​

No Action Required for

  • Third-Party Notification Services (Firebase Cloud Messaging/FCM, Amazon SNS, etc.)
    Service providers handle certificate updates
  • Client Applications (iOS, macOS apps)
    Trust store managed automatically by Apple OS
  • Mobile App Developers
    No Xcode changes or App Store resubmissions needed

Server Operators Must Act

You need to update your server infrastructure if:

  • Your backend directly POSTs to APNs endpoints
  • You maintain your own server certificate trust store

Updating Your Server Trust Store ​

1. Verify Current Certificate Status ​

Most modern operating systems already include the required certificate. Verify its presence:

Linux (Ubuntu/Debian):

bash
ls /etc/ssl/certs | grep USERTrust_RSA_Certification_Authority.pem

Linux (CentOS/RHEL):

bash
ls /etc/pki/ca-trust/source/anchors/ | grep USERTrust_RSA

2. Manually Add Certificate (If Missing) ​

Download the certificate using the official Apple link or from Sectigo:

Installation commands:

bash
# Ubuntu/Debian
sudo cp USERTrust_RSA_Certification_Authority.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

# CentOS/RHEL
sudo cp USERTrust_RSA_Certification_Authority.pem /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Windows Server:

  1. Download .crt file
  2. Open MMC → Add Certificates Snap-in (Computer Account)
  3. Import to "Trusted Root Certification Authorities"

3. Test APNs Connectivity ​

Validate via OpenSSL against Apple's sandbox:

bash
openssl s_client -connect 17.188.143.34:443 \
  -servername api.sandbox.push.apple.com \
  -verifyCAfile USERTrustRSACertificationAuthority.crt \
  -showcerts

Successful connection output should show:

Verify return code: 0 (ok)

Maintaining Continuous Service ​

  1. Ensure both old and new certificates remain in trust stores during transition
  2. APNs client certificates (used for authentication) require no changes
  3. Backend stack compatibility considerations:
Server PlatformUpdate Required?Verification Method
Ubuntu 22.04+No (Pre-installed)ls /etc/ssl/certs/
Ubuntu <20.04LikelyManual installation
CentOS/RHEL 8+Unlikelyupdate-ca-trust check
Windows Server 2019+Verify via MMCGUI certificate manager
Custom Trust StoresHighly LikelyValidate with OpenSSL test

Troubleshooting Common Issues ​

  • Certificate Not Found: Download directly from Apple's provided link
  • SSL Handshake Failures: Ensure both old/new certificates coexist until deadlines
  • Legacy System Support: Update OpenSSL libraries if connecting to APNs via TLS 1.2+

After implementing changes, monitor APNs delivery logs for improved success rates during transition windows.

For additional resources, refer to: