DocsCapabilitiesWallet utilitiesiOS Native SDKsmDocs holder

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:

FeatureSupported optionsDefault
Device engagementQR codeQR code
Device retrieval data transportBLE with either mDocPeripheralServer or mDocCentralClient modeBLE with mDocPeripheralServer
Ephemeral session key curveAny NIST P-* keysP-256 key using secure enclave
Device authentication modeDigital Signature or ECDH-agreed MACDigital Signature with a P-256 key using secure enclave

Additional resources

Tutorials

Guides

References