Overview of YubiKit for Android
mainYubiKit is an Android library provided by Yubico that enables support for both USB and NFC-enabled YubiKeys within Android applications. The SDK is modular, allowing developers to include only the specific functionality they need.
Key Modules:
- Core: Defines main SDK concepts and interfaces. All other modules depend on this.
- Android: Provides concrete implementations for the core interfaces, the
YubiKitManagerclass for YubiKey references, and reusable UI elements. - Fido: Adds FIDO2 support (Webauthn Level 2 and CTAP 2.3).
- FIDO Android UI (experimental): A high-level FIDO2/WebAuthn client with built-in UI components, PIN entry, and WebView integration. Requires Android API 23+.
- Management: Allows reading YubiKey metadata (serial number, firmware) and changing configurations.
- YubiOTP: Configures YubiOTP application (keyboard slots and Challenge-Response).
- OpenPGP: Supports OpenPGP smart card operations (PIN management, key import/generation, encryption, etc.).
- OATH: Manages up to 32 OATH (TOTP or HOTP) credentials.
- PIV: Supports PIV application configuration, private key management, and X.509 certificate operations.
- Support: Helper functionality for YubiKey information.
- Desktop (experimental): Provides core interface implementations for desktop Java applications via USB and NFC.