iOS 12 Enterprise Profiles and Certificate Trust
This article explains how Apple's iOS 12 operating system manages in-house enterprise provisioning profiles and developer certificate trust. It covers the mechanisms behind enterprise app deployment, the requirements for establishing explicit user or device trust, the validation checks performed by the operating system, and how Mobile Device Management (MDM) solutions streamline this workflow.
Enterprise App Distribution in iOS 12
iOS 12 allows organizations enrolled in the Apple Developer Enterprise Program to distribute proprietary, in-house apps directly to employees without using the public App Store. To run on a device, these applications must be signed with an enterprise distribution certificate and bundled with a matching enterprise provisioning profile.
The provisioning profile links the enterprise developer certificate to the application ID and specifies entitlements. These profiles have a maximum validity period of one year, while the distribution certificates can be valid for up to three years. iOS 12 verifies both items before permitting an app to launch.
Certificate Trust Workflows
In iOS 12, code-signing identities for enterprise apps are not trusted by default when installed via sideloading, web downloads, or third-party enterprise portals. Apple enforces strict trust boundaries to prevent unauthorized distribution:
- Manual Trust via Settings: When an untrusted enterprise app is installed outside of an MDM framework, opening it triggers an "Untrusted Enterprise Developer" prompt. The user must manually navigate to Settings > General > Profiles & Device Management (or Device Management), select the enterprise developer's name under the Enterprise App section, and tap Trust. Once trusted, all applications signed with that enterprise certificate can be launched.
- Automated MDM Trust: When apps are distributed through a Mobile Device Management (MDM) solution, iOS 12 automatically establishes trust for the enterprise certificate. No manual interaction is required from the end user, making MDM the preferred deployment model for corporate environments.
Profile and Certificate Validation Checks
iOS 12 performs continuous validation of enterprise apps using cryptographic checks and network requests:
- Launch-Time Integrity Check: Every time an app is opened, the operating system verifies that the executable code matches the signature defined in the embedded provisioning profile. If the signature is invalid or tampered with, the app terminates immediately.
- Expiration Enforcement: If either the enterprise provisioning profile or the distribution certificate expires, the app will refuse to launch. While apps installed prior to profile expiration continue to run until the profile lapses, new installations cannot proceed with an expired profile.
- Online Revocation Checks (OCSP): iOS 12 contacts Apple's Online Certificate Status Protocol (OCSP) servers over the network to check whether the enterprise distribution certificate has been revoked by the organization or Apple. If the device cannot reach the network over an extended period, or if the OCSP response indicates that the certificate has been invalidated, iOS 12 revokes execution permissions for the associated apps.
Profile Renewal and Replacement
To maintain uninterrupted access to enterprise applications in iOS 12, administrators must renew provisioning profiles annually. A renewed profile can be installed over the air (OTA) using MDM or bundled into an updated app release. Because the provisioning profile is distinct from the certificate, updating the profile does not require rebuilding the application if the signing certificate remains active.