m Docs Verifier SDK
Overview
The mDocs verifier SDK is based on the ISO/IEC 18013-5 standard which establishes an interoperable digital representation for mobile based credentials such as mobile drivers licenses (mDL). However, this SDK is designed to work for more then just mDLs, but rather any conforming mobile document (mDoc) - a term defined in ISO/IEC 18013-5.
The general responsibilities of the SDK can be summarised as the following:
Manage a list of trusted issuer certificates which presented mDocs can be validated against.
Interface with a holder to request presentations of issued mDocs as per ISO/IEC 18013-5.
Manage a list of mDocs status lists which is used to check the revocation status.
In this SDK mDocs are referred to as Mobile Credentials.
Supported ISO/IEC 18013-5 Features
ISO/IEC 18013-5 as a standard contains many different features, some of which are not currently supported by this SDK. Below is a summary of supported features:
Feature | Options Supported | Default Option Selected |
Device Engagement | QR Code-based | QR Code-based |
Device Retrieval Data Transport | BLE-based with mDocPeripheralServer and mDocCentralClient mode | BLE-based using mDocPeripheralServer |
Ephemeral Session Key Curve | NIST P-*-based keys | P-256-based key using Secure Enclave |
Device Authentication Mode | Both Digital Signature and ECDH-agreed MAC | Digital Signature, P-256-based key using Secure Enclave |
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.
SDK Change Log
1.0.1
Breaking changes
All functions may now throw standard
Error
s that were previously masked.All non-public methods and classes are now marked as internal or private.
The
global.mattr.mobilecredentialverifier
package was renamed toglobal.mattr.mobilecredential.verifier
.The
DataTransportException
exception was renamed toDataTransportDisconnectedException
.
Features
The SDK now supports checking the revocation and suspension status of presented mDocs:
The
requestMobileCredentials
function now takes anskipStatusCheck
boolean flag that will skip the status check when set totrue
. Defaults tofalse
.Operations now throw an
UnsupportedCurveException
exception when encountering an unsupported cryptographic curve.Storage engine replacement, resulting in the removal the Realm dependency.
HTTP Client replacement to support Android 7, resulting in the removal of the OkHttp dependency.
Increased debug logging throughout SDK.
Updated all 3rd party libraries to recent versions.
Sample app
Continues to show credential after session has ended.
No longer ends session when receiving an invalid credential.
0.6.1 (Tech preview release)
Features
SDK Docs improvements.
0.6.0 (Internal release)
Features
SDK Docs improvements.
Licence & Compliance
Request or download the MATTR Pi SDK Trial Licence Agreement and the MATTR Customer Agreement and review these terms carefully.
Sign and return the MATTR SDK Trial Licence Agreement to us.