Hi,
The WWDC session noted App Attest is supported on macOS 27, but only for certain extension types (Action and SSO were the examples shown IIRC).
- Is there a definitive list of which extension types support DCAppAttestService on macOS 27 — and is the credential-provider extension (ASCredentialProviderExtension) among them?
- If credential-provider extensions are not supported, in an app that ships a credential-provider extension, can I add a separate (e.g. SSO or Action) extension — or use the containing app — to perform App Attest and generate/attest a key, then use that key from the credential-provider extension (e.g. via a shared keychain access group)? Or is the attested key inherently bound to the attesting process and not shareable?
Thanks!
Is there a definitive list of which extension types support DCAppAttestService on macOS 27 — and is the credential-provider extension (ASCredentialProviderExtension) among them?
Extensions are not supported on macOS. The supported list of extensions for iOS and the other platforms are listed under here, https://developer.apple.com/documentation/devicecheck/establishing-your-app-s-integrity#Check-for-availability.
I'm thrilled to hear demand for this on macOS already. Please do file a feedback request and the team can take a look, https://developer.apple.com/feedback-assistant/.
If credential-provider extensions are not supported, in an app that ships a credential-provider extension, can I add a separate (e.g. SSO or Action) extension — or use the containing app — to perform App Attest and generate/attest a key, then use that key from the credential-provider extension (e.g. via a shared keychain access group)? Or is the attested key inherently bound to the attesting process and not shareable?
On macOS, you can only generate keys, attest, and assert them from the main app bundle. The attested key is tied to the RP_ID (team identifier + signing identifier) of the process that generates it (i.e., your main app). So I do not think you would be able to proxy keys across your main app to your extension to perform attestation or assertion.
As mentioned above, if extensions are an important part of your developer workflow, do file a feedback request.