Kinegram eMRTD Connector SDK Android

The Kinegram eMRTD Connector enables your Android app to read and verify electronic passports / id cards (eMRTDs).

    ┌───────────────┐     Results     ┌─────────────────┐
    │ DocVal Server │────────────────▶│   Your Server   │
    └───────────────┘                 └─────────────────┘
            ▲
            │ WebSocket
            ▼
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                        ┃
┃    eMRTD Connector     ┃
┃                        ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━┛
            ▲
            │ NFC
            ▼
    ┌──────────────┐
    │              │
    │   PASSPORT   │
    │              │
    │   ID CARD    │
    │              │
    │              │
    │   (eMRTD)    │
    │              │
    └──────────────┘

The Kinegram eMRTD Connector enables the Document Validation Server (DocVal) to communicate with the eMRTD through a secure WebSocket connection.

Versioning

This library follows Semantic Versioning 2.0.0

Example App

This project contains an Example App to demonstrate usage and functionality.

System Requirements

Running

First enable adb debugging on the mobile device and plug it in.

On a system with a Unix shell and make run:

make

The (short and very readable) Makefile covers building, running and more.

Alternatively just open the project with Android Studio and click run.

Include the Kinegram eMRTD Connector in your app

Add the dependencies to your app’s gradle build configuration.

  1. Configure your app-level build.gradle (app/build.gradle) file to include the emrtdconnector dependency.
  2. Replace <version> with the version you want to use.
  3. Resolve file-duplication conflicts like shown below
Kotlin
// app/build.gradle.kts
dependencies {
    ...
    implementation("com.kinegram.android:emrtdconnector:<version>")
}
// build.gradle.kts
android {
    ...
    // Resolve all conflicts of duplicated files in dependencies
    packagingOptions.resources.excludes += "META-INF/versions/9/OSGI-INF/MANIFEST.MF"
}
Groovy

// app/build.gradle
dependencies {
    ...
    implementation 'com.kinegram.android:emrtdconnector:<version>'
}
// build.gradle
android {
    packagingOptions {
        resources {
            excludes += 'META-INF/versions/9/OSGI-INF/MANIFEST.MF'
        }
    }
}

Usage and API description

Open the Dokka Documentation in your preferred browser.

There is also a JavaDoc Documentation available if you prefer the old JavaDoc style.

Changelog

Changelog