reference preinstalled certificate keypair from an MDM profile

For additional security we would like to avoid keeping generated certificates (their private keys) on our server after installing them on a device, but still be able to reference them in later installed configuration profiles via MDM. However, it seems that for a configuration profile's payload to use a certificate (e.g. VPN payload), the certificate payload must be present in the same profile.

Are we missing anything, perhaps it's already possible somehow?

Ideal workflow for us would be:

  1. our MDM server generates a certificate (private+public keys) for a given device
  2. our MDM server sends this certificate to the device as configuration profile and saves PayloadUUID of the certificate's payload
  3. our MDM server deletes the generated private key from its storage. At this point the private key is present only on the device.
  4. at some point in the future our MDM server sends a configuration profile that references the certificate from step 2 via the saved PayloadUUID (e.g. using key PayloadCertificateUUID in a VPN payload)

Current result: device responds to MDM server with error "The profile “VPN” could not be installed. Certificates needed for the VPN service “VPN” are invalid."

Desired result: device is able to find the previously installed certificate via its PayloadUUID. Alternatively, it could be certificate fingerprint or something similar.

One more alternative could be to replace steps 1-3 by an app on the device that obtains a certificate (in any way), installs it to device as a configuration profile, passes the certificate's PayloadUUID to our MDM server and then doing step 4.

reference preinstalled certificate keypair from an MDM profile
 
 
Q