Protecting Identities

Kinegram eMRTD Connector SDK iOS

This package handles reading an NFC enabled passport using iOS 13 CoreNFC APIS. Read and verify an eMRTD ICAO NFC chip with the Document Validation Server (DocVal Server).

Overview

The DocVal Server will directly communicate with the eMRTD (NFC Chip) of an ICAO Passport. The DocVal Server is able to read the data (like MRZ info or photo of face) and verify the authenticity and integrity of the data.

If the eMRTD supports the required protocols, the DocVal Server will additionally be able to verify that the chip was not cloned.

The result (data and check-results) will be posted (using an HTTP POST request) to a Result Server.

Important: In order to access the eMRTD, you need to give either the card access number (CAN) or the document number, the date of birth and the date of expiry. These values are required for the server to access the chip. Please refer to ICAO 9303Part 4 for detailed information about these values.

Preconditions

  • Xcode 13 or later
  • Swift 5.1 or later
  • Deployment Target 11.0 or later
  • Device Running iOS 13.0 or later (because of the iOS NFC APIs)

Example App

The Xcode Project ExampleApp.xcodeproj contains a minimal fully functional demo app, that shows the usage of the SDK.

Framework Installation

Apple offers the XCFrameworks file format (from Xcode 11 and Swift 5.1 on) for packaging module-stable frameworks. The directory SDK contains the KTAKinegramEmrtdConnector.xcframework.

Direct Installation in Xcode

Just put the KTAKinegramEmrtdConnector.xcframework into your target's dependencies via drag&drop: Xcode XCFramework usage

Via CocoaPods (1.9+ required)

There is also a kta-kinegram-emrtd-connector.podspec file in the directory SDK. If you already use CocoaPods for dependency management, you can add the framework with one statement in your Podfile:

platform :ios, '13.0'

target 'your-app' do
  use_frameworks!

  # local Pod for kta-kinegram-emrtd-connector
  pod 'kta-kinegram-emrtd-connector', :path => './SDK/'

  # ... could be also managed your own git
  # pod 'kta-kinegram-emrtd-connector', :git => 'https://git.yourdomain.com/emrtd-sdk-ios.git'
end

Then, run the following command:

$ pod install

Documentation

The usage of the KTAKinegramEmrtdConnector framework is explained in the KTAKinegramEmrtdConnector.doccarchive DocC archive also found in the directory SDK.

Install the documentation by double clicking the .doccarchive to add it to Xcode.

You can access the SDK documentation from within Xcode by either hitting Shift + Cmd + 0 or through Window -> Developer Documentation.

To test with or use the OVDK Instance of the DocVal Server, you need a Client ID which functions as an API Access Key. See the KTAKinegramEmrtdConnector.doccarchive for usage details. <CUSTOMER_NAME> may use Client ID "YOUR CLIENT ID" with the OVDK Instance of the DocVal Server.