22*YubiKit* is an Android library provided by Yubico to enable YubiKey support in
33Android apps. Both USB and NFC-enabled YubiKeys are supported.
44
5+ NOTE: Version 3.1.0 adds the new experimental link:./fido-android-ui/[FIDO Android UI]
6+ module, which provides a high-level FIDO2/WebAuthn client with built-in UI
7+ components, WebView integration, and customizable theming.
8+
59NOTE: Version 3.0 breaks compatibility with 2.0. See
610link:./doc/Migration_2.0-3.0.adoc[the migration guide] for some pointers on
711migrating.
@@ -42,6 +46,13 @@ various reusable UI elements.
4246link:./fido/[Fido]::
4347This module adds FIDO2 support. Current implementation supports Webauthn Level 2 and CTAP 2.3 for managing FIDO credentials on YubiKeys.
4448
49+ link:./fido-android-ui/[FIDO Android UI] _(experimental)_::
50+ This module provides a high-level FIDO2/WebAuthn client with built-in UI
51+ components for Android applications. It handles the complete user interaction
52+ flow including NFC/USB communication, PIN entry, and user prompts. It also
53+ supports WebView integration for seamless passkey support in web applications.
54+ Requires Android API 23+.
55+
4556link:./management/[Management]::
4657This module provides the ability to read out metadata from a YubiKey, such as
4758its serial number, and firmware version. It also allows changing the
@@ -68,6 +79,12 @@ data objects such as X.509 certificates, and managing access (PIN, etc).
6879link:./support/[Support]::
6980This module contains helper functionality such as getting information about YubiKeys.
7081
82+ link:./desktop/[Desktop] _(experimental)_::
83+ This module provides concrete implementations of the core interfaces for desktop
84+ Java applications, enabling YubiKey communication over USB and NFC (via external
85+ readers such as OMNIKEY). It also supports multi-device selection when several
86+ YubiKeys are connected.
87+
7188=== Getting Started
7289A good place to get started is to clone the repository and try out the included
7390demo app. To integrate the SDK into your app, add the desired dependencies to
@@ -84,19 +101,22 @@ our team will be happy to assist you.
84101
85102WARNING: This is an experimental version and is not intended for production use.
86103
87- Since version 2.8.0, the SDK contains the desktop module, which provides concrete implementations
88- of the core interfaces (USB and NFC connectivity) for building desktop Java applications.
104+ The link:./desktop/[Desktop] module provides concrete implementations
105+ of the core interfaces (USB and NFC connectivity) for building desktop Java
106+ applications. See the module listing above for details.
89107
90- There are two related modules:
108+ Related modules:
91109
92- * testing-desktop: SDK device test suite for desktop platforms
93- * DesktopDemo: A sample application demonstrating basic usage
110+ * link:./ testing-desktop/[testing-desktop] : SDK device test suite for desktop platforms
111+ * link:./ DesktopDemo/[DesktopDemo] : A sample application demonstrating basic usage
94112
95113=== FAQ
96114
97115==== Q1. Does YubiKit work with all versions of Android?
98- A1. All YubiKit modules should work on Android API 21+. Yubico typically tests
99- and supports n-1 per https://en.wikipedia.org/wiki/Android_version_history.
116+ A1. All YubiKit modules should work on Android API 21+, except for the
117+ link:./fido-android-ui/[FIDO Android UI] module which requires API 23+.
118+ Yubico typically tests and supports n-1 per
119+ https://en.wikipedia.org/wiki/Android_version_history.
100120
101121==== Q2. How can I debug my app on Android when a YubiKey takes up the USB port?
102122A2. Set up Android Debug Bridge (adb) debugging over WiFi:
0 commit comments