Skip to content

Mention full CTAP2 Android support in the README now that it is supported #62

Description

@suut

About 2 months ago there was an update to Android/Google Play services that adds support for CTAP2 using the native system UI.

The catch is that the SELECT APDU is done using extended-length which is usually not supported by the GlobalPlatform manager of JavaCards; to get around that the applet needs to be marked as default selected (for instance giving it the CardReset privilege) and it then will handle the "fake" SELECT like it would a real one thanks to these lines already present in the code:

        if (cla_ins == (short) 0x00A4 && p1_p2 == (short) 0x0400) {
            // Applet-select command, probably part of test shenanigans
            handleAppletSelect(apdu);
            return;
        }

I tested it on the Android 17 beta, but it should also work on the latest Android 16 release assuming Google Play Services are up to date.

It's worth mentioning that the app Authnkey (available on F-Droid or repackaged as FIDO Bridge - Authnkey on the Google Play Store) did allow to use the applet on Android for CTAP2/passkeys; but now the flow is native and consistent (but it still doesn't allow to manage credentials, then you still need an app).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions