Android mDocs Holder SDK
The Android mDoc Holder SDK is based on the ISO/IEC 18013-5 standard which establishes an interoperable digital representation of mobile-based credentials such as mobile drivers licenses (mDL). However, this SDK can extend the same technology and architecture to more then just mDLs, but rather any conforming mobile document (mDoc) - a term defined in ISO/IEC 18013-5.
To get started with this SDK, please contact us so we can work together to find the best solution for you.
SDK Capabilities
The SDK offers tools to assist developers integrating the following capabilities into their Android applications:
- Claim an mDoc
- Interact with a credential offer and claim an mDoc as per OpenID4VCI (OpenID for Verifiable Credential Issuance).
- Manage a list of trusted issuers which mDoc offers can be validated against.
- Store claimed mDocs and manage access to that storage.
- Manage access to device keys which are bound to issued mDocs.
- Use referenced status lists to check mDocs’ revocation status.
- Present an mDoc
- Present a claimed mDoc for verification via a proximity presentation workflow as per ISO 18013-5.
- Present a claimed mDoc for verification via a remote (online) presentation workflow as per ISO/IEC 18013-7:2024 and OID4VP.
Supported ISO/IEC 18013-5 Features
Below is a summary of ISO/IEC 18013-5:2021 features supported by the Android mDoc Holder SDK:
Feature | Supported options | Default |
---|---|---|
Device engagement | QR code | QR code |
Device retrieval data transport | BLE with either mDocPeripheralServer or mDocCentralClient mode | BLE with mDocPeripheralServer |
Ephemeral session key curve | Any NIST P-* keys | P-256 key using secure enclave |
Device authentication mode | Digital Signature or ECDH-agreed MAC | Digital Signature with a P-256 key using secure enclave |
Supported ISO/IEC 18013-7 Features
Below is a summary of ISO/IEC 18013-7:2024 features supported by the Android mDoc Holder SDK:
Feature | Options Supported | Default Option Selected |
---|---|---|
Data Retrieval methods | OID4VP | OID4VP |
Wallet Invocation | Custom URL and QR Code-based | Both |
MDoc Reader validation | Stored verifier certificates, client Metadata retrieval | Both |
Authorization Response Encryption | ECDH in Direct Key Agreement mode | ECDH in Direct Key Agreement mode |
System requirements
This SDK is developed in the Kotlin programming language and is meant for integration into Android applications. It currently supports Android 7 (API level 24) and above.