macOS ADCertificate Managed Payload – Auto-Renewal Not Working

We are experiencing an issue with ADCertificate auto-renewal on macOS devices enrolled via MDM.

Platform: macOS

CA: Microsoft AD CS

Payload Type: com.apple.ADCertificate.managed

Initial certificate enrollment works correctly

EnableAutoRenewal is set to true

Certificate does not renew automatically as it approaches expiry

We would like to confirm:

Are there any known issues with macOS ADCertificate managed payload auto-renewal, particularly with Microsoft AD CS environments?

Below is the exact payload configuration in use:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>e058b034-0f7c-477a-b070-92c90ac89c8e</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadOrganization</key> <string>MDM</string> <key>PayloadIdentifier</key> <string>com.mdm.25556868-86f8-4626-a0f4-eb39e5da6cae.MyProfile1</string> <key>PayloadDisplayName</key> <string>MyProfile1</string> <key>PayloadRemovalDisallowed</key> <true/> <key>PayloadContent</key> <array> <dict> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>513f041c-4e1f-47bd-afa9-cfb942bb981f</string> <key>PayloadType</key> <string>com.apple.ADCertificate.managed</string> <key>PayloadOrganization</key> <string>MDM</string> <key>PayloadIdentifier</key> <string>513f041c-4e1f-47bd-afa9-cfb942bb981f</string> <key>PayloadDisplayName</key> <string>AD Certificate Payload</string> <key>CertServer</key> <string><our_adcs_url></string> <key>CertificateAuthority</key> <string>zylker-CA</string> <key>CertTemplate</key> <string>Template</string> <key>CertificateRenewalTimeInterval</key> <integer>20</integer> <key>Keysize</key> <integer>2048</integer> <key>EnableAutoRenewal</key> <true/> <key>AllowAllAppsAccess</key> <true/> <key>Description</key> <string>server certificate</string> <key>KeyIsExtractable</key> <true/> </dict> </array> </dict> </plist>

Thank you.

Experiencing issues with ADCertificate auto-renewal on macOS devices enrolled via MDM, especially with Microsoft AD CS, can be challenging due to the interplay between different systems. While Apple's documentation and community forums may not always cover every specific scenario, here are some insights, potential causes, and troubleshooting steps based on common issues and best practices:

Known Issues and Considerations

MDM and Certificate Renewal Limitations: macOS's support for auto-renewing certificates via MDM has certain limitations and might not be as robust as on iOS. Microsoft AD CS integration can add complexity, particularly if certificate templates or renewal settings are not aligned. Certificate Template Configuration: Ensure that the AD CS certificate template used supports renewal and is configured correctly. The template should have settings for auto-enrollment and renewal, typically under the "Extensions" tab in the template properties. Check the "Renewal Policy" settings to ensure they align with your desired renewal interval and conditions. Kerberos Authentication: Ensure that the MDM server and client machines have proper Kerberos authentication configured. Certificate renewal often relies on Kerberos tickets, and misconfigurations can lead to renewal failures. Time Synchronization: Accurate time synchronization is crucial for certificate operations. Ensure that both the AD domain controllers and macOS devices are synchronized with a reliable time server. Event Logs: Review event logs on both the macOS devices and the AD CS servers for clues. On macOS, check the System.log and Security.log for certificate-related errors. On the AD CS server, look in the Application and System logs for certificate enrollment and renewal events.

Troubleshooting Steps

Verify Payload Configuration: Double-check your MDM payload configuration to ensure all fields are correctly set, especially EnableAutoRenewal and CertTemplate. Ensure that CertificateRenewalTimeInterval provides enough time for renewal before the certificate expires. Test Manual Renewal: Temporarily disable auto-renewal and manually enroll a certificate to verify that the process works as expected. This can help isolate whether the issue lies with auto-renewal or the initial enrollment. Check Certificate Chain: Ensure that the AD CS server's certificate chain is complete and properly trusted on the macOS devices. Intermediate certificates must be installed and trusted for chain validation to succeed. Update MDM and macOS: Ensure that both your MDM solution and the macOS devices are running the latest compatible versions. Updates may include bug fixes or improvements related to certificate management. Consult Microsoft and Apple Support: Given the complexity of the issue, consider reaching out to both Microsoft support (for AD CS) and Apple support (for MDM and macOS). They may have specific guidance or patches related to your configuration. Community and Forums: Explore community forums such as Apple Developer Forums, Microsoft Tech Community, and MDM-specific communities. Other users may have encountered similar issues and found solutions.

Alternative Approaches

If auto-renewal continues to be problematic, consider alternative approaches such as:

Script-Based Renewal: Implement a script to manually renew the certificate before it expires. This can be scheduled using launchd or cron on macOS. Third-Party MDM Solutions: Investigate third-party MDM solutions that may offer more robust certificate management features and better compatibility with Microsoft AD CS.

By systematically addressing these areas, you can identify and resolve the factors preventing ADCertificate auto-renewal on your macOS devices. If the issue persists, engaging with support teams will be crucial to finding a tailored solution.

macOS ADCertificate Managed Payload – Auto-Renewal Not Working
 
 
Q