Packaging Biometric SDKs with MOSIP
MOSIP as a platform does not have any inbuilt capabilities to handle biometrics. It relies on external components and subsystems to perform all activities pertaining to biometrics. As a platform it defines formats, standards and interfaces for these external components and subsystems. The Biometrics SDK is a critical external component used for performing operations with biometric data in multiple MOSIP modules - Registration Client, Authentication and Registration Processor.
Windows Biometric SDK
The windows biometric SDK may be packaged in the following way and provided to the MOSIP team as a zip file. When extracted, the following is a typical folder structure
Folder structure
+root folder
-face_sdk.dll
-face_sdk_jni.dll
-face_sdk.lic
-iris_sdk.dll
-iris_sdk_jni.dll
-iris_sdk.lic
-fp_sdk.dll
-fp_sdk_jni.dll
-fp_sdk.lic
-config.properties
-<sdkname>.jar
-Utility applications
The main DLL is the actual implementation of the biometric modality.
face_sdk.dll : contains the implementation of face SDK
iris_sdk.dll : contains the implementation of IRIS SDK
fp_sdk.dll : contains the implemenatation of fingerprint SDK
The jar file is the Java library that implements the MOSIP methods for MOSIP to call the SDK functions.
License files
The license files .lic are issued by the vendor along with the SDK. The way to obtain the license file varies from vendor to vendor. Some vendors may issue a single license file for all the modalities. Some may have separate license file for individual modalities. The way to obtain the license file varies from vendor to vendor. The name and the extension of the license file may also vary from vendor to vendor.
SDK Properties
Every SDK provider maintains a list of properties that can be used to configure the behavior of the SDK. Some of the prominent properties that could be of interest are
Biometric modality Thresholds
Biometric modalities to be enabled/disabled
License token issued by the vendor
Specific properties pertaining to face such as
Enable/disable background checking
Enable/disable blur checking
Enable/Disable Red eye checkng
Enable/Disable Mark checking
Utility applications
The vendor may package tools (Applications) that are standalone programs for checking the functionality of the SDK before they are integrated with MOSIP. Some vendors may supply utilities to generate license files and tokens that might have to be copied into the extracted folder.
Server Biometric SDK
The server biometric SDK is packaged and delivered as a docker exposing the REST APIs which have been designed based on https://github.com/mosip/commons/blob/release-1.2.0/kernel/kernel-biometrics-api/src/main/java/io/mosip/kernel/biometrics/spi/IBioApi.java
The following are the REST APIs that needs to be implemented for MOSIP to integrate with the SDK
POST /api/init
The SDK initialization methods serves the dual purpose of sharing information about the SDK and performing any one time activities including initialization of internal variables and algorithms.
checkQuality
match
extractTemplate
segment
convertFormat