iOS mDocs holder SDK
The iOS 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.
The SDK is developed in the Swift programming language and is meant for integration into iOS applications developed in Swift and/or Objective-C. Specifically it currently only supports applications developed in iOS v15, v16 or v17.
SDK Capabilities
The SDK offers tools to assist developers integrating the following capabilities into their iOS 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.
- Present an mDoc
- Present a claimed mDoc for verification via a proximity presentation workflow as per ISO 18013-5.
Supported ISO/IEC 18013-5 Features
Below is a summary of ISO/IEC 18013-5 features supported by the iOS 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 |