Search results for

ACME

78 results found

Post

Replies

Boosts

Views

Activity

Unable to test ACME payload
Hello All, We are looking to implement the ACME protocol for our organization PKI and as of now, we are trying out the demo ACME server hosted here. So far, we had a minor piece of luck in getting it to work properly twice, but after that, it errors out every time. This is the payload we are using: <?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>PayloadContent</key> <array> <dict> <key>ClientIdentifier</key> <string>123123123123123123123</string> <key>ExtendedKeyUsage</key> <array> <string>1.3.6.1.5.5.7.3.2</string&
6
0
2.1k
Sep ’22
Reply to Managed Device Attestation - ACME - Request Authorization
It would be great if the device could attest that it is under management and have an OID for the check-in URL or the APNS topic is registered against. This might eliminate the ACME server's need to authorize a request against the MDM server or help improves the validation of the request etc. The only properties that could potentially appear in attestations are things that the Secure Enclave did. It's the OS's responsibility to enroll the device and keep track of the check-in URL, push topic, and other management-related properties. So to attest it, the OS would have to tell the Secure Enclave these properties. A compromised OS could lie to the Secure Enclave about these management properties. So to trust attestation of those properties, you'd have to trust the OS as well. And if you're trusting the OS, the attestation of that property isn't giving you any additional security over just asking the OS to report the property directly.
Jun ’22
Reply to Managed Device Attestation - ACME - Request Authorization
You're right that the ClientIdentifier can work similarly to the SCEP challenge. ClientIdentifier management systems amount to some kind of coordination between the ACME server and the system that's generating the configuration profile containing an ACME payload (usually the MDM server). There's many ways to arrange it: It could be that the ACME server and MDM server agree on some ClientIdentifier generation scheme based on increasing counters or timestamps, or the MDM server asks the ACME server to issue a ClientIdentifier to embed in the profile, or the MDM server generates them and the ACME server verifies them when a certificate is requested. But this is ultimately weak evidence. If the ClientIdentifier is fumbled at any step of the way, someone else could use it. That's why the only specifically recommended use is as a rate limiting system, so that the ACME server can quickly reject clients that don't have valid ClientIdentifiers. So how does the ACME
Jun ’22
Managed Device Attestation - ACME - Request Authorization
I'm curious about suggested workflows for a 3rd party ACME server handling a request for a managed device. Specifically, when the MDM server does not control the ACME server like it likely would when using the ACME payload for the MDM client identity. i.e., an organization with a CA that can distribute client identities using ACME; how should ACME servers validate the request is authorized? The server, of course, would be able to validate that the attestation is valid from Apple, but how would an ACME server validate that the request is authorized for a device? I would assume that the ACME server would use the ClientIdentifier key similarly to a SCEP challenge. And that identifier should be populated in MDM either as a static challenge or dynamically fetched by MDM from the ACME service? Or possibly that the ACME service would need a connection (i.e., through a restful API) to the MDM server to validate it is a device under manag
2
0
1.9k
Jun ’22
TLS For Accessory Developers
I often get questions about disabling the HTTPS default server trust evaluation done by NSURLSession. My general advice is “Don’t do that!” However, there is one case where you have to do that, namely when dealing with a hardware accessory on the local network. This post contains my advice on how to deal with that situation. IMPORTANT If you found your way here and you’re not developing a network-based accessory, I have two suggestions for you: If you’re trying to override HTTPS server trust evaluation for testing purposes, see QA1948 HTTPS and Test Servers. If not, post a question here on DevForums and we’ll try to get you heading in the right direction. Tag it with Security, and either CFNetwork or Network depending on which API you’re using. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com TLS For Accessory Developers Communicating securely with a network-based accessory is tricky because the standard network security protocol, TLS, was de
0
0
2.6k
Mar ’22
Unable to get ABM prompt on freshly wiped Mac
I have a Mac Mini 2018 which is not presenting the ABM prompt when I bring my iPhone 12 running Apple Configuration Manager near it. This machine (which has been in use for a few years) has been wiped and has a fresh install of Monterey 12.2 on it. Upon first boot after a fresh reinstall, it goes directly to the Select your Country or Region screen (it completely skips the language selection prompt for some reason). I launched ACM on my iPhone 12 and sat it atop the Mac Mini for several minutes, but nothing happened. Is there something I am doing wrong? In case it matters (and knowing my luck, it probably does), I do have the T2 Security Utility configured for Medium Security and Allow Booting from External Media as I will need to roll back this machine to Catalina after the 30-day grace period completes.
0
0
703
Feb ’22
Reply to create Serial Port Drivers use DriverKit
I am not aware of any sample code, which is really a shame. Without sample code, writing USB serial device drivers is a very obscure science. However, if you can influence the code on the USB device you are better off implementing the USB CDC ACM protocol. That way your device appears under /dev/tty* and /dev/cu* without the need to write a device driver. And best of all, it works on Windows and Linux as well - again without device drivers. And on macOS, you probably don't want to use the /dev/tty* device but rather the /dev/cu* device. /dev/tty* is from the old days when you had a modem connected to your serial port and your software would become active if there was an incoming call.
Topic: App & System Services SubTopic: Drivers Tags:
May ’21
Reply to How to link Apple in-app subscription to company account
If you want that one user only have one account in ACME, you can detect that the original_transaction_id is being used by another account, and inform the user that he has another account. If you decide to allow a user have different accounts in ACME, then that shouldn't be a problem because the user is the same with two accounts. If the user is the same, it shouldn't matter what account he used to log in. To share subscription between members of a family, Apple has now Family Sharing: https://developer.apple.com/documentation/appstoreservernotifications/notification_type#3733656
Apr ’21
How to link Apple in-app subscription to company account
My understanding is that we are supposed to use the original transaction ID to link to a user, but that's not a one-to-one mapping. Let's say I work for ACME Inc and we offer an in-app subscription to content. A customer downloads our app. Inside the app, they create an ACME account (A). Then they purchase the subscription within the app. During verification and fulfillment, we save the user's ACME account ID and the original transaction ID from the Apple receipt. Great! At some point, the user cancels the subscription and doesn't use the service for some time. When they decide they want to use it again, they open the ACME app and can't remember their login for ACME account (A). So, instead of recovering the account, they create a new account (B). Then they purchase a subscription. We save the user's ACME account ID and the original transaction ID from the Apple receipt. The original transaction ID will be the same in both cases, but the ACME acco
1
0
1.1k
Apr ’21
Big Sur fails to mount encrypted volume
I have a problem mounting an encrypted volume on Big Sur (11.1). In DiskUtility, when I select the volume, click Mount, enter password and click Unlock, nothing happens. I also tried to use CLI to unlock the volume using command: diskutil apfs unlockVolume /dev/disk1s6 but it gives me error: Passphrase: ACM: LibCall_ACMContextCreate: returning, err = -536870181. Error -536870181 (0xe00002db) creating ACM Context for passphrase I also tried to create a new encrypted volume with simple password '123', but after I unmounted it and tried to mount again I got the same error. Device: MacBook Pro (16-inch, 2019) Is it a bug in Big Sur or am I doing something wrong? Should I just wait for an update with a fix? I don't have an urgent need to decrypt the data because I have a backup. The question is about possibility of using encrypted volumes in macOS.
4
0
3.8k
Jan ’21
Reply to From Reality Composer to app
Hi, I began using Reality Composer on the iPad Pro about a year ago, approaching it from having taught 2D-3D graphics 20 year’s ago. Apple’s AR is the most exciting presentation format since QuickTime. I am in much the same position you are in...I have ‘content’, now how do I sew it together and into an app?. Apple has solid information on making apps in ‘normal product category domains’. AR is still a bit new. The difficulty of making the leap from ‘content’ to ‘app’ depends somewhat on your background with Xcode, along with the the complex’s and goals of your app, You also may or may not need an ‘app’ in the ‘AppStore’ sense; I’ve seen discussion of using QuickLook for viewing.reality files. If all you need to do is share your AR content, exporting a Reality Composer ‘scene’ as a .reality file can be a very useful way of making your ‘content’ available the way it functions within Reality Composer’s building environment. C You may also wish to look at SwiftPlaygrounds in iOS as a way to examine if your conte
Nov ’20