VeriFinger SDK

Fingerprint identification for stand-alone or Web solutions

VeriFinger is a fingerprint identification technology designed for biometric systems developers and integrators. The technology assures system performance with fast, reliable fingerprint matching in 1-to-1 and 1-to-many modes.

Available as a software development kit that allows development of stand-alone and Web-based solutions on Microsoft Windows, Linux, Mac OS X, iOS and Android platforms.

System Requirements

There are specific requirements for each platform which will run VeriFinger-based applications.
Click on specific platform to view the corresponding requirements.

Microsoft Windows platform requirements

  • Microsoft Windows XP / Vista / 7 / 8 / 8.1, 32-bit or 64-bit. If a fingerprint scanner is required, note that some scanners are supported only on 32-bit OS or only from 32-bit applications.
  • PC or laptop with x86 (32-bit) or x86-64 (64-bit) compatible processors.
    • 2 GHz or better processor is recommended.
    • SSE2 support is required. Processors that do not support SSE2 cannot run the VeriFinger algorithm. Please check if a particular processor model supports SSE2 instruction set.
  • At least 128 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 25,000 templates (each with 2 fingerprints inside) require about 50 MB of additional RAM.
  • Free space on hard disk drive (HDD):
    • at least 1 GB required for the development.
    • 100 MB required for VeriFinger components deployment.
    • Additional space would be required in these cases:
      • VeriFinger does not require the original fingerprint image to be stored for the matching; only the templates need to be stored. However, storing fingerprint images on hard drive for the potential future usage is recommended.
      • Usually a database engine runs on a separate computer (back-end server). However, DB engine can be installed on the same computer for standalone applications. In this case HDD space for templates storage must be available. For example, 25,000 templates (each with 2 fingerprints inside) stored using a relational database would require about 60 MB of free HDD space. Also, the database engine itself requires HDD space for running. Please refer to HDD space requirements from the database engine providers.
  • Fingerprint reader. VeriFinger SDK includes support modules for more than 100 fingerprint scanners under Microsoft Windows platform. Integrators can also write plug-ins to support their fingerprint readers using the plug-in framework provided with the Device Manager from the VeriFinger SDK.
  • Database engine or connection with it. VeriFinger templates can be saved into any DB (including files) supporting binary data saving. VeriFinger Extended SDK contains the following support modules for Matching Server on Microsoft Windows platform:
    • Microsoft SQL Server;
    • MySQL;
    • Oracle;
    • PostgreSQL;
    • SQLite.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • Microsoft .NET framework 3.5 or newer (for .NET components usage).
  • One of following development environments for application development:
    • Microsoft Visual Studio 2008 SP1 or newer (for application development under C/C++, C#, Visual Basic .Net)
    • Sun Java 1.6 SDK or later

Android platform requirements

  • A smartphone or tablet that is running Android 4.0 (API level 14) OS or newer.
    • API level 19 is the recommended target for code compilation.
    • If you have a custom Android-based device or development board, contact us to find out if it is supported.
  • ARM-based 1.5 GHz processor recommended for fingerprint processing in the specified time. Slower processors may be also used, but the fingerprint processing will take longer time.
  • At least 20 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 1,000 templates (each containing 2 fingerprint records) require about 2 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 30 MB required for embedded fingerprint components deployment for each separate application.
    • Additional space would be required if an application needs to store original fingerprint images. VeriFinger does not require the original fingerprint image to be stored for the matching; only the templates need to be stored.
  • Fingerprint reader. VeriFinger SDK includes support modules for a number of fingerprint scanners under Android platform. Integrators can also write plug-ins to support their fingerprint readers using the plug-in framework provided with the Device Manager from the VeriFinger SDK.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • PC-side development environment requirements:
    • Java SE JDK 6 (or higher)
    • Eclipse Indigo (3.7) IDE
    • Android development environment (at least API level 14 required)
    • Apache Maven 3.1.x or newer
    • Internet connection for activating VeriFinger component licenses

iOS platform requirements

  • One of the following devices, running iOS 8.0 or newer:
    • iPhone 5 or newer iPhone.
    • iPad 2 or newer iPad, including iPad Mini and iPad Air models.
    • iPod Touch 6th Generation or newer iPod.
  • At least 20 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 1,000 templates (each containing 2 fingerprint records) require about 2 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 30 MB required for embedded fingerprint components deployment for each separate application.
    • Additional space would be required if an application needs to store original fingerprint images. VeriFinger does not require the original fingerprint image to be stored for the matching; only the templates need to be stored.
  • Fingerprint reader:
    • SMUFS BT and FbF mobileOne QuickDock fingerprint readers are supported.
    • Fingerprint images in BMP, JPG or PNG formats can be processed thus almost any third-party fingerprint capturing hardware can be used with the VeriFinger technology if it generates images in the mentioned formats.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • Development environment requirements:
    • a Mac running Mac OS X 10.10.x or newer.
    • Xcode 6.4 or newer.

Mac OS X platform requirements

  • A Mac running Mac OS X 10.7.x or newer. 2 GHz or better processor is recommended.
  • At least 128 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 25,000 templates (each with 2 fingerprints inside) require about 50 MB of additional RAM.
  • Free space on hard disk drive (HDD):
    • at least 1 GB required for the development.
    • 100 MB required for VeriFinger components deployment.
    • Additional space would be required in these cases:
      • VeriFinger does not require the original fingerprint image to be stored for the matching; only the templates need to be stored. However, storing fingerprint images on hard drive for the potential future usage is recommended.
      • Usually a database engine runs on a separate computer (back-end server). However, DB engine can be installed on the same computer for standalone applications. In this case HDD space for templates storage must be available. For example, 25,000 templates (each with 2 fingerprints inside) stored using a relational database would require about 60 MB of free HDD space. Also, the database engine itself requires HDD space for running. Please refer to HDD space requirements from the database engine providers.
  • Fingerprint reader. VeriFinger SDK includes support modules for a number of fingerprint scanners under Mac OS X platform. Integrators can also write plug-ins to support their fingerprint readers using the plug-in framework provided with the Device Manager from the VeriFinger SDK.
  • Database engine or connection with it. VeriFinger templates can be saved into any DB (including files) supporting binary data saving. VeriFinger Extended SDK contains SQLite support modules for Matching Server on Mac OS X platform.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • Specific requirements for application development:
    • XCode 4.3 or newer
    • wxWidgets 3.0.0 or newer libs and dev packages (to build and run SDK samples and applications based on them)
    • Qt 4.8 or newer libs, dev and qmake packages (to build and run SDK samples and applications based on them)
    • GNU Make 3.81 or newer (to build samples and tutorials development)
    • Sun Java 1.6 SDK or later

Linux x86 / x86-64 platform requirements

  • Linux 2.6 or newer kernel (32-bit or 64-bit) is required. Linux 3.0 kernel or newer is recommended. If a fingerprint scanner is required, note that some scanners are supported only on 32-bit OS or only from 32-bit applications.
  • PC or laptop with x86 (32-bit) or x86-64 (64-bit) compatible processors. 2 GHz or better processor is recommended.
  • At least 128 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 25,000 templates (each with 2 fingerprints inside) require about 50 MB of additional RAM.
  • Free space on hard disk drive (HDD):
    • at least 1 GB required for the development.
    • 100 MB required for VeriFinger components deployment.
    • Additional space would be required in these cases:
      • VeriFinger does not require the original fingerprint image to be stored for the matching; only the templates need to be stored. However, storing fingerprint images on hard drive for the potential future usage is recommended.
      • Usually a database engine runs on a separate computer (back-end server). However, DB engine can be installed on the same computer for standalone applications. In this case HDD space for templates storage must be available. For example, 25,000 templates (each with 2 fingerprints inside) stored using a relational database would require about 60 MB of free HDD space. Also, the database engine itself requires HDD space for running. Please refer to HDD space requirements from the database engine providers.
  • Fingerprint reader. VeriFinger SDK includes support modules for a number of fingerprint scanners under Linux platform. Integrators can also write plug-ins to support their fingerprint readers using the plug-in framework provided with the Device Manager from the VeriFinger SDK.
  • glibc 2.11.3 library or newer
  • Database engine or connection with it. VeriFinger templates can be saved into any DB (including files) supporting binary data saving. VeriFinger Extended SDK contains the following support modules for Matching Server on Linux platform:
    • MySQL;
    • Oracle;
    • PostgreSQL;
    • SQLite.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • Specific requirements for application development:
    • wxWidgets 3.0.0 or newer libs and dev packages (to build and run SDK samples and applications based on them)
    • Qt 4.8 or newer libs, dev and qmake packages (to build and run SDK samples and applications based on them)
    • GCC-4.4.x or newer
    • GNU Make 3.81 or newer
    • Sun Java 1.6 SDK or later
    • pkg-config-0.21 or newer (optional; only for Matching Server database support modules compilation)

ARM Linux platform requirements

We recommend to contact us and report the specifications of a target device to find out if it will be suitable for running VeriFinger-based applications.

There is a list of common requirements for ARM Linux platform:

  • A device with ARM-based processor, running Linux 3.2 kernel or newer.
  • ARM-based 1.5 GHz processor recommended for fingerprint processing in the specified time.
    • ARMHF architecture (EABI 32-bit hard-float ARMv7) is required.
    • Lower clock-rate processors may be also used, but the fingerprint processing will take longer time.
  • At least 128 MB of free RAM should be available for the application. Additional RAM is required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching. For example, 1,000 templates (each containing 2 fingerprint records) require about 2 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 100 MB required for VeriFinger components deployment.
    • Additional space would be required in these cases:
      • An application needs to store original fingerprint images. Note that VeriFinger does not require the original images to be stored for the matching; only the templates need to be stored.
      • Usually a database engine runs on a separate computer (back-end server). However, a DB engine can be installed on the same device for standalone applications. For example, 1,000 templates (each with 2 fingerprints inside) stored using a relational database would require about 3 MB of free storage space.
        PostgreSQL, MySQL and SQLite are supported on ARM-Linux. Please refer to hardware requirements from the corresponding database engine providers.
  • Fingerprint reader:
    • VeriFinger SDK includes support modules for Abilma UNITY and Futronic eFAM devices under ARM Linux platform.
    • Fingerprint images in BMP, JPG or PNG formats can be processed thus almost any third-party fingerprint capturing hardware can be used with the VeriFinger technology if it generates images in the mentioned formats.
  • glibc 2.13 or newer.
  • libstdc++-v3 4.7.2 or newer.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriFinger Extended SDK). Communication with Matching server is not encrypted therefore, if communication must be secured, a dedicated network (not accessible outside the system) or a secured network (such as VPN; VPN must be configured using operating system or third party tools) is recommended.
  • Development environment specific requirements:
    • GCC-4.4.x or newer
    • GNU Make 3.81 or newer
    • JDK 1.6 or later