Hey there,
I'm trying to building an iOS credential provider (ASCredentialProviderExtension, iOS 17+) that manages passkeys backed by keys generated in the Secure Enclave, attested via App Attest.
My question is about the cross-device (FIDO2 hybrid / "passkey on a nearby device") flow, where a phone authenticates a sign-in initiated on a separate client device (e.g. a laptop browser).
Specifically,
- Can a third-party credential provider serve as the authenticator in this flow, signing with its own key — or is the cross-device role reserved for iCloud Keychain?
- If it can, does the OS handle the BLE advertisement and tunnel/handshake on the provider's behalf? I ask because it seems like
CBPeripheralManager.startAdvertising(_:)will not emit raw bytes, so an app can't emit a CTAP hybrid advert itself. - If neither is supported, is there any supported API — including MDM-managed/supervised-device capabilities — for an app to act as a cross-device FIDO2 authenticator with a non-iCloud-Keychain key?
Thanks!