Kinegram eMRTD SDK Android

Read and verify the chip of an eMRTD (electronic machine readable travel document) in accordance to ICAO Doc 9303.

Example App

This project contains a minimal fully functional demo app, that shows the usage of the SDK.

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.

Dependencies

The emrtd-<version>.aar and the jp2-android.aar need to be included in the app. You can find these in the app/libs folder of the example project.

Make sure to configure your app-level build.gradle (app/build.gradle) file to include libraries from the app/libs folder and the following external dependencies

dependencies {
    implementation fileTree(dir: 'libs', include: '*')
    ...
    implementation 'org.jmrtd:jmrtd:0.8.3'
    implementation 'org.bouncycastle:bcprov-jdk18on:1.83'
    implementation 'org.bouncycastle:bcpkix-jdk18on:1.83'
}

Add BouncyCastle to jetifier's ignore list within your gradle.properties:

android.jetifier.ignorelist = bcprov-jdk18on-1.83.jar

and resolve all conflicts of duplicated files in the dependencies by excluding them in your 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

Open Source Licenses

This software contains the following Open Source components: