Hi, I'm looking into ACME Managed Deice Attestation and was wondering about one of the values in the payload - AllowAllAppsAccess.
From the documentation: "If true, all apps have access to the private key" but what is the case that you would have this set to true? seems like it opens up the device to potentially malicious software.
Also, if this were set to true, how would an app access this private key when it is stored in the Secure Enclave? is there a specific tag that it is stored with?
Device Management
RSS for tagAllow administrators to securely and remotely configure enrolled devices using Device Management.
Post
Replies
Boosts
Views
Activity
Is there a way to check if DDM(Declarative Device Management) is enabled on a device?
I'm trying to implement ACME managed device attestation, I have ACME server code written in C# and I've been able to get all of the steps working except for the very last one - issuing the certificate.
I so far have not been able to get the device to accept the certificate, the device logs show:
Got certificate {length = ......}
ACME request flow failed at step 9: Error Domain=NSOSStatusErrorDomain Code=-67673 "failed to obtain certificate" UserInfo={NSLocalizedDescription=failed to obtain certificate}
The certificate is issued by an internal CA and the correct root certificate is in the device's trusted certs.
I have tried returning the certificate chain as a file response or content response to the device as a "application/pem-certificate-chain" mime type (as outlined as the default in the ACME RFC), returning just the leaf certificate as PEM, returning the leaf certificate as DER with mime type "application/pkix-cert", "application/pkcs7-mime", "application/x-pkcs12" or "application/x-x509-ca-cert", but none of this has worked.
Can anyone point me in the right direction to figure out what the issue is?
Hi all.
I'm trying to implement a Platform SSO extension for macOS and I'm freaking out. It's so complicated and with almost zero guidance documentation.
I established a starting point in my SSO extension and I get the registration request to my beginDeviceRegistrationUsingLoginManager (I managed all the AASA file, MDM stuff).
In this method I'm creating a ASAuthorizationProviderExtensionLoginConfiguration and I try to save it into the loginManager (ASAuthorizationProviderExtensionLoginManager which I get from the method) using saveLoginConfiguration.
It worked fine, and without changing anything I started getting the next error:
failed to save loginConfiguration: Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1000 "(null)" UserInfo={NSUnderlyingError=0x7ff77ff63b30 {Error Domain=com.apple.PlatformSSO Code=-1008 "Token endpoint URL is not approved profile URL." UserInfo={NSLocalizedDescription=Token endpoint URL is not approved profile URL.}}}
This is my configuration:
ASAuthorizationProviderExtensionLoginConfiguration *loginConfiguration = [[ASAuthorizationProviderExtensionLoginConfiguration alloc] initWithClientID:@"***" issuer:@"https://auth.platformsso.ping-eng.com/as" tokenEndpointURL:[NSURL URLWithString:@"https://auth.platformsso.ping-eng.com/as/token"] jwksEndpointURL:[NSURL URLWithString:@"https://auth.platformsso.ping-eng.com/as/jwks"] audience:@"***"];
And this is where it breaks:
BOOL saveConf = [self.loginManager saveLoginConfiguration:loginConfiguration error:&confError];
Can someone help me with this error please?
Hello Apple Community,
Issue encountered during the installation of an app via DDM (Declarative Device Management) on iOS 17.3 devices.
When applying an app configuration and managed app list status event through declarative management, the configuration is successfully applied, but the configured app is not being installed on the device. Upon closer inspection, we have identified that the error "ManagedAppDistribution.ManagedAppDistributionError" is being logged during this process.
My Configuration:
{
"Type": "com.apple.configuration.app.managed",
"Identifier": "com.mdm.1740e623-4361-498d-af02-b433500d58bd.ManagedAppDDM",
"ServerToken": "1706282674113",
"Payload": {
"AppStoreID": "361309726",
"InstallBehavior": {
"License": {
"VPPType": "Device"
},
"Install": "Required"
}
}
}
{
"Type": "com.apple.configuration.management.status-subscriptions",
"Identifier": "com.mdm.9c70c80f-406a-425a-8829-1025652f05c6.ManagedAppListStatus",
"ServerToken": "1706282673976",
"Payload": {
"StatusItems": [
{
"Name": "app.managed.list"
},
{
"Name": "mdm.app"
},
{
...
}
]
}
}
DDM Response:
{
"StatusItems": {
"management": {
"declarations": {
"activations": [
{
"active": true,
"identifier": "DEFAULT_ACT_0",
"valid": "valid",
"server-token": "1706282674113"
}
],
"configurations": [
{
"active": true,
"identifier": "DEFAULT_STATUS_CONFIG_0",
"valid": "valid",
"server-token": "3"
},
{
"active": true,
"identifier": "com.mdm.1740e623-4361-498d-af02-b433500d58bd.ManagedAppDDM",
"valid": "valid",
"server-token": "1706282674113"
},
{
"active": true,
"identifier": "com.mdm.9c70c80f-406a-425a-8829-1025652f05c6.ManagedAppListStatus",
"valid": "valid",
"server-token": "1706282673976"
}
],
"assets": [],
"management": []
}
}
},
"Errors": [
{
"Reasons": [
{
"Code": "ManagedAppDistribution.ManagedAppDistributionError.0",
"Description": "The operation couldn’t be completed. (ManagedAppDistribution.ManagedAppDistributionError error 0.)"
}
],
"StatusItem": "app.managed.list"
}
]
}
Note : The ManagedAppDistribution framework extension appears to not be implemented in this context.
Kindly help us with this issue. Thanks in advance.
Please tell me about the NotNow status returned by the MDM command for Apple devices.
◾️I would like to check
I am aware that there are some MDM commands that return a status NotNow when the device is locked and the command cannot be executed.
I am aware of InstallProfileCommand and SecurityInfoCommand.
https://developer.apple.com/documentation/devicemanagement/installprofilecommand
https://developer.apple.com/documentation/devicemanagement/securityinfocommand
Please answer the following two questions.
◾️Question
I would appreciate an answer with the official name of the command and the URL of the command's reference, if possible.
Question 1
Please tell us if there are commands other than InstallProfileCommand and SecurityInfoCommand that return status NotNow because the command cannot be executed if the terminal is locked.
Question 2
Please tell us if any of the following commands return the status NotNow because the command cannot be executed if the terminal is locked.
DeviceConfiguredCommand
AvailableOSUpdatesCommand
ScheduleOSUpdateCommand
OSUpdateStatusCommand
Hello, Dear Engineers
I have distributed a management profile from Aplle Configurator to my terminal with reference to the following document
https://developer.apple.com/documentation/devicemanagement/cellularprivatenetwork
Situation:
We tested the device in an environment where both Wi-Fi and cellular connections were available,
Wi-Fi seemed to have priority in the operation.
This is because CellularDataPreferred, which is set in the distributed management profile, is enabled,
I would like cellular to be given priority.
I am using iPhone 15 (iOS 17.1.2).
Question:
・Is there anything else missing besides the Profile Example to make CellularPrivateNetwork's Device Management Profile work properly?
・Has anyone confirmed that CellularPrivateNetwork's Device Management Profile works correctly?
BestRegards
hi!
https://developer.apple.com/documentation/devicemanagement/applayervpn
I have a question about AssociatedDomains in the AppLayerVPN reference above.
From the description, I believe that this property triggers the VPN when the app is launched with a universal link and connects to the domain specified in AssociatedDomains.
Is that correct in your understanding?
I specified "twitter.com" as a test, and the VPN was not triggered when the universal link was executed from safari, etc.
How can I make a VPN connection with the domain connection specified in the AssociatedDomains property?
If you could please let us know with some real life examples.
I will pass on your thanks in advance.
Thanks.
I'm encountering a strange issue with PPPC configuration files and app visibility in Security & Privacy for standard users on the latest macOS version.
The Scenario:
I created a PPPC file granting accessibility and screen recording permissions for my app.
I deployed the PPPC file to devices using MDM.
Surprisingly, the app doesn't appear under Security & Privacy > Privacy > Screen Recording or Accessibility for standard users.
However, if I remove the PPPC file, the app instantly shows up in those locations.
What I've Tried:
Double-checked the PPPC file syntax and permissions configuration.
Redeployed the PPPC file and verified successful installation on devices.
Restarted devices and re-registered the MDM profile.
The Impact:
This issue prevents standard users from granting my app the necessary permissions through the standard system interface. They require admin intervention to grant permissions manually, which is inconvenient and not ideal for our workflow.
Seeking Help:
I'm reaching out to the community for any insights or suggestions on resolving this issue. Has anyone encountered a similar problem with PPPC files and standard user permissions? Any advice or potential solutions would be greatly appreciated!
Push notification for PWA app is supported on iOS >= 16.4.
I want to restrict app usage using Restriction payload of configuration profile. Formerly we could it by defining a restriction like this. (actually via MDM)
<key>whitelistedAppBundleIDs</key>
<array>
<string>com.apple.webapp</string>
</array>
However on iOS >= 17.0, the notification setting of the PWA app is disappeared!!
Without the restriction payload, or with the restriction payload without whitelistedAppBundleIDs, the notification setting for the PWA app is shown as expected.
Also we discovered that the issue can be avoided by adding com.apple.WebKit.PushBundle.xxxxxx into the restriction payload.
<key>whitelistedAppBundleIDs</key>
<array>
<string>com.apple.webapp</string>
<string>com.apple.WebKit.PushBundle.7880D99FB56F4FF7B5DC019E0EDBCBD0</string>
</array>
com.apple.WebKit.PushBundle.7880D99FB56F4FF7B5DC019E0EDBCBD0 can be found with console log using Apple Configurator.
However it cannot be found via MDM command (ex. InstalledApplicationList). We want to configure and install the restriction payload into multiple devices via MDM.
So how can we know the com.apple.WebKit.PushBundle.xxxxxx via MDM? or how can we enable push notification settings for PWA apps with restriction payload?
Thank you
I tried the new feature of iOS 17.2 com.apple.configuration.app.managed
A configuration and its activation are defined with the data like this.
{
"Identifier": "389459bf-0902-58dd-be0e-11c83c695a8b",
"Type": "com.apple.configuration.app.managed",
"Payload": {
"InstallBehavior": {
"Install": "Required",
"License": {
"VPPType": "Device"
}
},
"BundleID": "com.microsoft.Office.Powerpoint"
},
"ServerToken": "..."
}
After distributing the configuration with DeclarativeDevicement MDM command, an error is notified via status channel app.managed.list.
{
"active": true,
"identifier": "389459bf-0902-58dd-be0e-11c83c695a8b",
"valid": "valid",
"server-token": "21b95e4cb0b616a3ac77a5905ed08756fa36f605ad1a30a9bd347a4a8092532c"
},
"app": {
"managed": {
"list": [
{
"state": "failed",
"declaration-identifier": "389459bf-0902-58dd-be0e-11c83c695a8b",
"identifier": "com.microsoft.Office.Powerpoint",
"name": "Microsoft PowerPoint",
"reasons": [
{
"code": "Error.LicenseNotFound"
}
]
},
After VPP license for the app is assigned, I tried to issue DeclarativeManagement command again.
However iOS device doesn't fetch the configuration because it is not changed. App installation is not retried even after the valid license is assigned.
How can we trigger the retrying installation?
Thank you
I want to control one iPhone from another iPhone remotely and both of the phones in different places. How to do that ?
Using Web Driver Agent how can we achieve this ?
We need to capture the frames as well every second like screenshots
Hello! I couldn't reach out to support team because when i'm trying to do this there is infinite login process. I don't understand, why is this broken.
Now i want to change my enroll program to organization type and i have DUNS. Can you help me?
◆premise
① We are planning to use self-produced App (published in AppStore) which is installed on our iPad in a closed network.
② We will implement the update of the app automatically.
◆Question
In order to allow the automatic update of the app in AppStore, do we need to allow communication with servers or domains? If it is a case, could you tell us the port number for this connection?
Hello Apple Community,
I've been delving into the realm of time-based activation predicates through DDM. In my recent pursuits, I've been experimenting with the device's local time to evaluate a predicate expression and apply activation configurations. Is it possible to achieve this?
Our DDM currently leverages device status items and server management properties to activate predicates. These predicates come to life when the logic becomes true, initiating activations seamlessly. While the Apple Predicate Guide provides a solid foundation, I've encountered some challenges when it comes to time-based expressions. The guide covers basics such as context and numerical-based predicates, but I find myself seeking more clarity on implementing time-based logic effectively.
If any of you have insights, tips, or experiences to share regarding time-based activation predicates expressions in declarative device management, your input would be immensely valuable. I'm particularly interested in understanding practical approaches and gaining a deeper comprehension of the nuances involved.
Thank you in advance.