griaule biometric framework 2.0 developer manual folder structure .....18 settings for the griaule...

52
Griaule Biometric Framework 2.0 Developer Manual 040-0101-01 Rev 1.10 www.griaulebiometrics.com Brazil Phone: 55-19-3289-2108 USA Phone: (408) 490 3438

Upload: trinhkien

Post on 02-May-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Griaule Biometric Framework 2.0

Developer Manual 040-0101-01 Rev 1.10

www.griaulebiometrics.com Brazil Phone: 55-19-3289-2108 USA Phone: (408) 490 3438

11/28/2011 Page 2 of 52

Griaule Biometric Framework Developer’s Manual

Getting Started ......................................................................................................................... 5

Quick Start Guide ................................................................................................................... 5

Features .................................................................................................................................. 5

What’s New!! ......................................................................................................................... 6

Fingerprint Scanner Support .................................................................................................. 7

Webcams and Digital Camera Support .................................................................................. 8

Microphone Support .............................................................................................................. 9

Griaule Biometric Framework Security ................................................................................ 10

Support ................................................................................................................................. 10

Control Panel.......................................................................................................................... 11

Creating a New Framework Account ................................................................................... 11

Editing Framework Account Information ............................................................................. 12

Deleting a Framework Account ............................................................................................ 12

Set the Local Database Hosts for a Framework Account ..................................................... 12

Add an Application to a Framework Account ...................................................................... 13

Configure the Application Settings ...................................................................................... 14

View the Account and Application Credentials to Authenticate ......................................... 16

Cancel the Griaule Biometric Framework Service ................................................................ 16

Installing the Griaule Biometric Framework ............................................................................. 17

Supported Systems and Requirements ................................................................................ 17

Framework Folder Structure ................................................................................................ 18

Settings for the Griaule Biometric Framework Demo Application ...................................... 19

Using the Griaule Biometric Framework Demo Application ................................................ 20

Fingerprint Scanner Installation ........................................................................................... 22

Using the Griaule Biometric Framework .................................................................................. 23

Prerequisites ........................................................................................................................ 23

Griaule Biometric Framework Communication Structure ................................................... 23

Griaule Biometric Framework Based Applications Overview .............................................. 24

How to Integrate the Griaule Biometric Framework in a Application ................................. 25

How to use the Methods enrollData and searchData.......................................................... 27

11/28/2011 Page 3 of 52

Face and Voice Enrollment................................................................................................... 27

Deploying a Biometric Framework Based Application ......................................................... 28

Deploying with or without a Fingerprint Scanner ................................................................ 28

Metadata support ................................................................................................................ 29

Web Service Reference API ..................................................................................................... 30

Biometric Framework Web Service ...................................................................................... 30

Biometric Framework Methods ............................................................................................... 30

Method: authenticate .......................................................................................................... 32

Method: enroll ..................................................................................................................... 33

Method: search .................................................................................................................... 34

Method: deletePerson ......................................................................................................... 35

Method: delete .................................................................................................................... 35

Method: closeSession .......................................................................................................... 36

Method: enrollData .............................................................................................................. 36

Method: enrollFile - OBSOLETE ............................................................................................ 37

Method: enrollRaw - OBSOLETE........................................................................................... 38

Method: searchData ............................................................................................................ 39

Method: searchFile - OBSOLETE ........................................................................................... 40

Method: searchRaw - OBSOLETE ......................................................................................... 41

Method: getCaptureInfo ...................................................................................................... 42

Method: getEnrollInfo .......................................................................................................... 43

Biometric Framework Complex Types ..................................................................................... 44

Complex Type: tns:GFArrayOfFileImage .............................................................................. 44

Complex Type: tns:GFArrayOfRawImage ............................................................................. 44

Complex Type: tns:GFFileImage ........................................................................................... 45

Complex Type: tns:GFRawImage .......................................................................................... 45

Complex Type: tns:GFMetadata........................................................................................... 46

Complex Type: tns:GFBiometricData ................................................................................... 46

Complex Type: tns:GFInfoRequest ....................................................................................... 47

Biometric Framework Simple Types ........................................................................................ 48

Simple Type: tns:GFResult .................................................................................................... 48

Simple Type: tns:GFImageFormat ........................................................................................ 49

11/28/2011 Page 4 of 52

Simple Type: tns:GFSoundFormat ........................................................................................ 50

Simple Type: tns:GFAuxImageType ...................................................................................... 50

Simple Type: tns:GFFingerprintTemplateFormat ................................................................. 50

Simple Type: tns:GFFaceTemplateFormat ........................................................................... 51

Simple Type: tns:GFVoiceTemplateFormat .......................................................................... 51

Simple Type: tns:GFPatternClassification ............................................................................ 51

Simple Type: tns:GFCaptureSource ...................................................................................... 52

Simple Type: tns:GFBiometricType ...................................................................................... 52

Simple Type: tns:GFDataSource ........................................................................................... 52

Simple Type: tns:GFBiometricProcessingLevel .................................................................... 52

11/28/2011 Page 5 of 52

Getting Started The Griaule Biometric Framework combines cloud and local services to enable the fastest integration of biometric identification and security into any application. The Griaule Biometric Framework deals with the complexity to enroll, store, cache, distribute, search, balance, optimize and secure biometric information while it provides simple to use functions to the developer.

Quick Start Guide

1. Sign up for a 30 days free trial. 2. Log into the control panel, create and configure an account and application. 3. Download the installer, run the installation program and follow the on-screen setup

instructions. 4. Install one of the supported fingerprint scanners. 5. Develop your application and integrate it with the Griaule Biometric Framework. 6. Deploy your Griaule Biometric Framework Based Application.

Features

• No complicated licensing agreements. The Griaule Biometric Framework can be installed on as many computers as you need. The service is structured by the amount of users that are stored in the database. This provides companies with scalability you don’t get with other biometric vendors.

• Griaule Biometrics fingerprint recognition algorithm achieved an outstanding performance among the world's best fingerprint recognition systems held by the United States National Institute of Standards and Technology (NIST) in 2003. Then in 2006 it received first place in the Average Equal Error Rate (AvgEER) in the Fingerprint Verification Competition (FVC). In 2010 Griaule passed and received the MINEX certificate. The US government requires a MINEX certificate for biometric technology used by the FBI and other federal government agencies.

• The Griaule Biometric Framework supports any programming language that can communicate with Web Services. You can integrates our software in just 5 minutes with just a few lines of code. It provides the client-side for C#, Java, VB.NET and C++.NET, and you can use the Web Service Description Language (WSDL) for other programming languages.

• The Control Panel allows you to customization the biometric services at any time without having to re-code your application. You can administer all your Framework Accounts and applications and see all the computers that are using your applications in an intuitive web interface.

• The Griaule Biometric Framework service supports 50 different models of fingerprint scanners. The software supports both flat and rolled fingerprint scanners, and it is possible to use more than one fingerprint scanner model at the same time in your application. Even after your application has been developed and/or deployed the Griaule Biometric Framework allows you to change the fingerprint scanner hardware without modifying your code.

11/28/2011 Page 6 of 52

What’s New!!

Face enrollment: The Griaule Biometric Framework now supports enrolling a facial image that meets ICAO standards. The face enrollment process is easy to use, and can be enabled or disabled at any time without the need to modify your code. Once you have enrolled the person’s face you can use this information to help identify the user and create a more secure identification process in your application. Voice Enrollment: The Griaule Biometric Framework now supports enrolling a voice. The voice enrollment process is easy to use, and can be enabled or disabled at any time without the need to modify your code. Once you have enrolled the person’s voice you can use this information to help identify the user and create a more secure identification process in your application. Cloud Search: When the local database host is not available, or the database has not completed synchronizing with the cloud database; the search methods will automatically switch and use the cloud database to process the search requests. New method enrollData can enroll biometric data from files or memory buffer. You can also enroll any binary or text metadata. This metadata will be available in the cloud. Using the GUID of a person, the biometric data and metadata are returned by the method getEnrollInfo. New method searchData can search biometric data from a file or memory buffer. You can also search for a person by using the text metadata associated with the person’s GUID. New method getCaptureInfo will return the biometric data of the last person that was enrolled or searched for in the Griaule Biometric Framework by the last live enroll (method enroll) or live search (method search). This data is sent as a vector of a struct and can be saved in any format. New method getEnrollInfo will return the biometric data or metadata associated with the person’s GUID from the cloud database. This data is sent as a vector of a struct and can be saved in any format. New method delete is used to delete a specific biometric record of a person. The biometric data is identified by the type of biometric data, and the index of that record. The methods enrollFile and enrollRaw are obsolete now. If you use these methods, we recommend that you update your software code to use the new method enrollData.

The methods searchFile and searchRaw are obsolete now. If you use these methods, we recommend that you update your software code to use the new method searchData.

11/28/2011 Page 7 of 52

Fingerprint Scanner Support

Usually the SDKs provided by the fingerprint scanner manufacturers’ support only their hardware devices. The Griaule Biometric Framework service can support multiple fingerprint scanners allowing you to choose the most cost effective solution for your application needs. This makes the deployment of biometric applications easier and assures the developer that they will be able to choose the biometric hardware that fits the customer's needs even after you deploy your application.

Supported Fingerprint Scanners

• Authentec AES1610 • Authentec AES2501 • Authentec AES2550 • Authentec AES4000 • Certis Image Orcanthus • Crossmatch V250 • Crossmatch V300 LC • Crossmatch V310 LC • Crossmatch V320 LC • Digent FD1000 • Digital Persona U.are.U

4000/4000B • Digital Persona U 4500 • Eikon • Futronic FS50 • Futronic FS80 • Futronic FS84 • Futronic FS88 • IDTECH Biomag I • IDTECH Biomag II • Lumiden Mercury series • Lumiden Venus Series • M2SYS M2-S • Microsoft Fingerprint Reader

• Microsoft Optical Desktop with Fingerprint Reader

• Microsoft Wireless IntelliMouse with Fingerprint Reader

• Nitgen Hamster DX • Nitgen Hamster I • Nitgen Hamster II • Nitgen Hamster III • OFIS FingerTec • Secugen Hamster FDU02 • Secugen Hamster Plus • Suprema BioMini • Suprema BioMini Plus • Testech Bio-I • Testech Nexes • UPEK TouchChip (PID 0x2015) • Verifi P4000 • Verifi P4500 • Verifi P5000 • ViRDI FOH02 • ZK7000 • Zvetco P2500 • Zvetco P5100 • Zvetco P6000 • Zvetco P6000-B

The Griaule Biometric Framework can also receive fingerprint images from an image file. Thus, if the programmer can extract the image from an unsupported fingerprint scanner, then you can provide support for any kind of fingerprint scanner in your application. There is more information about these fingerprint scanners and links to the manufacturers’ website available on our website at: https://www.griaulebiometrics.com/en-us/biometric-framework/supported-readers

11/28/2011 Page 8 of 52

Webcams and Digital Camera Support

The Griaule Biometric Framework can use any type of webcam or digital camera that supports Microsoft WDM drivers. The facial image capture is a 1600 x 1200 pixel image and requires a 2 Megapixel or higher digital camera resolution. When purchasing a webcam or digital camera; be sure the device supports Auto Focus and Auto Light Correction. These features will help capture a better facial image that is more recognizable in different lighting conditions. How to create good face image capture for fast recognition Capturing a facial image for biometric enrollment is not hard, but there are a few tips to understand that can help you create a better facial enrollment image. Lighting conditions, face expressions, and camera distance are the 3 keys to a successful face enrollment.

1. When capturing the facial image; be sure you are in good lighting conditions. A dark facial image will not work for face recognition. Background lighting is also bad since this will cause the camera to take a dark facial image. Be sure the persons face is well lit, and there are no hard shadows across the face. Keep in mind webcams are more sensitive to lighting conditions than a digital camera.

2. Face Expressions, make up, and facial hair like a mustache or beard must be considered when creating a facial image for biometric identification. If there is a change in any of these conditions then the facial enrollment might need to be redone for proper face recognition.

3. The distance between the camera and the face is an important. If the person being enrolled is to close, or too far away this can cause problems. We have created a facial outline when capturing the facial image that helps align the persons face for the correct distance between the camera and face.

Suggested Webcams and Digital Cameras for GBF Face Recognition

Product Name Image Quality

Still Image Resolution

Auto Focus

Light Correction Lens

Logitech HD Pro Webcam C920 5/5 10 MP Yes Yes Glass Logitech Webcam C525 3.9/5 8 MP Yes Yes Glass Logitech Webcam C270 3.7/5 3 MP No Yes Plastic Microsoft Lifecam Studio Webcam 4/5 5 MP Yes Yes Glass Microsoft Lifecam Cinema Webcam 3.5/5 5 MP Yes Yes Glass Microsoft Lifecam HD-6000 Webcam 3/5 4 MP Yes Yes Glass Microsoft Lifecam HD-5001 Webcam 2.8/5 4 MP Yes Yes None

11/28/2011 Page 9 of 52

Microphone Support

The Griaule Biometric Framework can use any type of microphone; although there are microphones that will help create a better standard voice profile for voice recognition. When purchasing a microphone be sure it supports a recording frequency range of at least 400Hz to 8000Hz. The better microphones will support a recording frequency range of 100Hz to 16000Hz. Also look for noise cancellation capabilities; this will help remove unwanted ambient sounds and make the speech more intelligible for voice recognition software.

USB microphones offer a better solution because the USB microphone converts the analog to digital signal helping to create a standard voice profile. This also allows you to use the same type of USB microphone at two different computers and still retain the same voice profile in the voice recognition process.

Analog microphones can be used but they depend on the computers sound card microphone input to convert the signal from analog to digital. Most computer sound cards are not shielded and will pick up electronic noise from inside the computer that can distort the voice recording. If you are using two different computers that have different sounds cards then each computer will have a slightly different analog to digital conversion creating differences in the voice profile that could cause problems with voice recognition.

Suggested USB Desktop Microphones for GBF Voice Recognition

Product Name

Voice Accuracy

Rating

Noise Cancelling

Rating

Boom Length (Inches)

Working Range

(Inches) Integrated Speakers

Accessory Mic Jack

Speechware 6-n-1 4.5/5 4.5/5 15 10-20 Yes Yes Speechware 3-n-1 4.5/5 4.5/5 15 10-20 No Yes Buddy Desktop 7G with Filtered Audio 4.5/5 4.5/5 18 No No Buddy Flamingo Mic 7G 4/5 4.5/5 17 No No Buddy Desktop Mini 7G 4/5 4.5/5 9 No No Logitech USB Desktop 3.5/5 3/5 9 No No

Ambient Noise Test - Turn the microphone on and go to the windows microphone sound setting in the control panel. Click on the microphone you are going to use and see what level of noise the microphone is picking up while you are not speaking into the microphone. If the microphone is picking up a high level of background noise then this will indicate that this is a bad microphone to use for voice recognition.

11/28/2011 Page 10 of 52

Griaule Biometric Framework Security

The Griaule Biometric Framework Service is designed to protect data that is in transit between the Griaule Biometric Framework and the local database hosts or end user stations. To help protect the data that is in transit over the Internet or your network; the Griaule Biometric Framework, local cache databases hosts, and end user stations use SSL encryption to encrypt the data that is sent between each other. The Griaule Biometric Framework service is designed to prevent third parties, including Internet service providers, from accessing your organization's sensitive biometric information in a decrypted format. The Griaule Biometric Framework Service uses confidentiality, integrity, and authenticity, which are principles for information security, to help protect your organization from data loss or alteration. Security Principles Confidentiality - The Griaule Biometric Framework database uses AES encryption to help make sure that only intended recipients can view the contents of your biometric database. Integrity - The Griaule Biometric Framework Service uses SSL encryption to help protect every biometric process that the servers or end user stations send and receive to help prevent third parties from altering the biometric data. Authenticity - Before the Griaule Biometric Framework Service sends data to the local servers or end user stations, the computer will authenticate with the Griaule Biometric Framework Service to prove that the local servers or end user stations knows the account and application credentials before any data is sent. Griaule Biometric Framework Security Features

The Griaule Biometric Framework Services is designed to use the following features to help provide security, privacy, and continuity to your organization's biometric environment:

• Encryption to help keep your data protected while it is in transit and while it is stored in the Griaule Biometric Framework data centers

• Access controls to help keep your data confidential from other third parties • A software development model that focuses on security • Security policies and rules of conduct for Griaule Biometric administrators who

manage Griaule Biometric Framework IT systems • High availability, disaster recovery, and contingency plans to handle emergencies • Architecture that is designed to provide a secure link between the Operating

System and the Griaule Biometric Framework service • Administrative control of your Griaule Biometric Framework service accounts using

IT administration and policies

Support

Our support team is here to help. If you run into any problems with the integration process or any other doubt about the product. Please read the instructions in our Support page.

11/28/2011 Page 11 of 52

Control Panel The Web Control Panel is single point of access to administer for all your Framework Accounts, databases, and applications associated with the Griaule Biometric Framework. Administrators will be able to create, edit and delete databases. Define settings for the local host database, add and configure applications, and view logs about who is connecting to your accounts and where your application is being used.

Creating a New Framework Account

Each Framework Account created in the control panel represents a separate biometric database for one or more applications that will run under that account. If you create two different accounts each account will have a different database, and different credentials to work with that database. 1. To create a new Framework Account, click on

the “Create” button on the top left of the control panel.

2. A new window will open up and you will need to fill out the form with the account name, company information and the country.

3. At the bottom of the window you can choose between 2 Account Type plans:

a. Basic: The database can enroll up to 100 people per account.

b. Pro: The database can enroll up to 300 people per account.

c. If you need a larger database please contact Griaule Biometrics and we can custom configure a larger database for you.

4. Once the form has been filled out correctly, click on the “Create” button at the bottom of Create a New Account Window.

11/28/2011 Page 12 of 52

Editing Framework Account Information

In case you need to edit the company info in the Framework Account you can click on the “Options” button on the top left of the control panel. Then click on “Edit” in the drop down menu. Make the changes to the company info and then click on the “Save Changes” button to save the new information to the account or the “Cancel” button to return to the control panel.

Deleting a Framework Account

To delete a Framework Account you click on the “Options” button on the top left of the control panel. Then click on “Delete” in the drop down menu. A confirmation window will ask you to confirm the process before the account is deleted. Please be aware that when you delete an account all the biometric information stored in the Griaule Biometric Framework database and the local host database will not longer be available.

Set the Local Database Hosts for a Framework Account

The Local Database Hosts will store the local cache database for your application. There can be multiple Local Database Hosts, but at least one Host must be assigned to each application in order to use the search method for your application with the Griaule Biometric Framework. The default setting for the Local Database Host is the first computer that your application uses to connect and authenticate with the Griaule Biometric Framework service.

You can change which computer are Local Database Hosts, click on the “Options” button on the top left of the control panel. Then click on “Local Database Hosts” in the drop down menu. Mark the checkboxes under Local Database column for the computers that will store the local cache databases. Then click on the “Save” button to save the host settings for the account. The new settings will take effect the next time the application on these computers connects and calls the authenticate method with the Griaule Biometric Framework service.

11/28/2011 Page 13 of 52

In order to add a server to the Local Database Hosts list you must first install the Griaule Biometric Framework software onto the computer, then have the application authenticate with the Griaule Biometric Framework service. Once that has been completed the computer will be available to choose in the Local Database Hosts list.

Add an Application to a Framework Account

You can add an application to a Framework Account by first selecting the Framework Account on the left side of the control panel and then clicking on the “Add Application on the selected Framework Account” button at the top of the control panel. A new window will be shown and you will have two tabs to choose an application from:

• My Apps. This shows a list of all the applications you have already created and added to your account. You have 2 options to choose from:

o You can select an application from the list and then click on the “Add” button. The application will be added to the selected account.

o Click on the “Create and Add a new one” button. Type in your application name and then click on the “Create and Add” button. The new application will be added to the My Apps list so that you can use it in another account and then added to the selected account.

• Griaule Apps. This shows a list with all the Griaule Biometric Sample Applications. These applications are developed by Griaule and can be used for your account. Select an application from the list and then click on the “Add” button. The application will be added to the selected account.

The Griaule Biometric Framework installer comes with a Biometric Framework demo. The Biometric Framework demo is designed so that you can easily test the functionality and features of the Griaule Biometric Framework. In order to make this demo work you must add the “Griaule Biometric Framework C# Sample” to your account. This is explained in more detail below under the section Settings for the Griaule Biometric Framework Demo Application.

11/28/2011 Page 14 of 52

Configure the Application Settings

Each application within a Framework Account can be configured independently. When you look at the control panel there are a set of icons next to each application. First select a account on the left side of the control panel. Then a list with all the applications used by this account will be shown on the right side of the control panel. When you click on these Icons they allow you to view and configure the settings for each application.

You can view the Application GUID by clicking on the “Credentials” icon next to the application name. The application credentials are used to identify the program that is going to interface with the database. If the program has the wrong application GUID then it will not be allowed to interface with the database and you will get a return error code. You can change the mandatory fingers to enroll for your application by clicking on the “Finger to Enroll” icon next to the application name. The bright green highlighted fingers are the mandatory fingers a new user must enroll to complete the enrollment process for your application. The soft green fingers in the image are the optional fingers for you to select for the enrollment process. You can change the mandatory fingers to enroll by clicking on the fingers in the image and they will change colors. Then click on the “Save” button to save the Finger Enrollment settings for the application. If no fingers are highlighted a new user can select any finger to use for the Fingerprint Enrollment process in your application. You can view the Application Hosts for your application by clicking on the “Hosts” icon next to the application name. The Application Hosts screen will show the computer name, operating system and the version of the Griaule Biometric Framework software running on the computer. In order for a Local Database Host to show on the Application Hosts list you must first install the Griaule Biometric Framework software onto the computer. Then have the application

11/28/2011 Page 15 of 52

authenticate with the Griaule Biometric Framework service. Once that has been completed you will need to add the computer as a Local Database Host in the Local Database Hosts settings for the Framework Account.

You can view the database logs by clicking on the “Log” icon next to the application name. This will show all the computers that have connected with your database. The logs show the computer name, IP Address, Date and Time, and current Griaule Biometric Framework software version. You can change the default configuration of new applications added to the account by clicking on the “Settings” icon next to the application name. The application settings will be the default settings for each new application added for that specific account. You can set:

• Enable the type of Biometric information to be scanned in your application. You can choose between Fingerprint, Face, and Voice.

• Enable if your application will use a rolled fingerprint image or a flat fingerprint image to enroll or search for users in the database. The fingerprint scanner must support rolled fingerprint scans in order for this feature to work.

• Enable if the real fingerprint image or a fingerprint drawing is shown during the enroll or search method in the Fingerprint Enrollment or Search GUI in your application.

• Click on the “Save” button to save the settings for the application.

All these changes will take effect after your application calls the method authenticate again.

11/28/2011 Page 16 of 52

View the Account and Application Credentials to Authenticate

When you develop your application to connect with the Griaule Biometric Framework service the software method authenticate will need three input parameters before your application is allowed to access the biometric information on the Griaule Biometric Framework database:

• Account GUID: A GUID that identifies your account with the biometric database. • Account Key: The account key is used as a password with your account GUID.

This information is very important and should be protected at all times. • Application GUID: A GUID that identifies your application with the biometric

database.

To view the Account GUID and Account Key, select a Framework Account on the left side of the control panel. Next above the account name click on the “Options” button on the top left of the control panel. Then click on “Credentials” in the drop down menu.

To view the Application GUID, first select a Framework Account on the left side of the control panel. Next on the right side of the control panel select an application. Then click on the “Credentials” icon next to the application name.

Cancel the Griaule Biometric Framework Service

You can cancel your Griaule Biometric Framework service at any time by clicking on the “Options” button on the top left of the control panel. Then click on “Cancel Service” in the drop down menu. A confirmation window will ask you to confirm the process before the service is deleted. Please be aware that when you delete the Griaule Biometric Framework service all the Framework Accounts and biometric information stored in the Griaule Biometric Framework service and the local host database will not longer be available.

11/28/2011 Page 17 of 52

Installing the Griaule Biometric Framework After you have created your account for the Griaule Biometric Framework you will be able to download the software that needs to be running on the computer in order to connect and use the biometric database. If you have not done so already please go to this website:

https://www.griaulebiometrics.com/en-us/biometric-framework/downloads Under the section Software Installers click on the link Griaule Biometric Framework Installer. You will begin to download a executable file called “Biometric_Framework_Installer.exe”. Once the file has been downloaded; double click on the file and it will run a install program. Follow the on-screen setup instructions to complete the installation of the Griaule Biometric Framework software. After the process has finished, you do not need to restart the computer. The Griaule Biometric Framework Windows Service will be running and you can start the integration with your application.

Supported Systems and Requirements

The Griaule Biometric Framework supports these Operating Systems: • Windows 7 • Windows Server 2008 • Windows Vista • Windows Server 2003 • Windows XP

Hardware Requirements for Griaule Biometric Framework running as windows service:

• CPU speed: 1Ghz processor • Memory: 512 MB of RAM • Disk space: 100 MB reserved for Framework.

Hardware Requirements for Griaule Biometric Framework running as local host database:

• CPU speed: 2GHz processor with 2 or more cores • Memory: 512 MB of RAM plus 10 Kb of RAM for each person enrolled. • Disk space: 100 MB reserved for Framework plus 10Kb of disk space for each

person enrolled Operating System Requirements:

• The Griaule Biometric Framework installs as a Windows Web Service on the computer. The Web Service provides the methods to authenticate, enroll, search and delete users within the biometric database.

• .NET Framework 2.0 is required for the Griaule Biometric Framework service to use the enroll and search GUI. Please make sure this software is installed before you start using the Griaule Biometric Framework software.

Network Requirements:

• The Communication between your application and framework local web service uses TCP port 8000 (http://localhost:8000). This port must be allowed by the firewall in the computers running the Griaule Biometric Framework.

• The Communication between computers running the Griaule Biometric Framework service on your network uses TCP port 8001 (https://[hostname]:8001) to search

11/28/2011 Page 18 of 52

for biometric information on the local database host. The communication is secured through SSL. The firewall must allow this communication.

• The communication between the Griaule Biometric Framework service and the Griaule Biometric Cloud uses HTTPS (port 443). The website address is https://framework.griaulebiometrics.com and https://framework2.griaulebiometrics.com. The firewall must allow this communication.

You also need to check the supported operating systems and the computer requirements for the fingerprint scanner you're intending to use. In order to do so, check the manufacturer's website or the fingerprint reader's documentation.

Framework Folder Structure After installing the Griaule Biometric Framework software the following folders will be available in the installation root directory:

Default Installation Root Directory: C:\Programs\Griaule\Biometric Framework

Directory Description

bin Contains all the binary files required by the Griaule Biometric Framework software to function correctly.

demo Contains the Griaule Biometric Framework demo application.

deploy Contains the Griaule Biometric Framework MSI installer that must be used to deploy a Griaule Biometric Framework based application.

doc Contains the shortcut to the online documentation for the Griaule Biometric Framework.

include Contains the Client-side classes for the Griaule Biometric Framework Web Service for these supported programming languages. C#, Java, VB.NET and C++.NET.

samples Contains the shortcut to the samples using the Griaule Biometric Framework (including source code).

wsdl Contains the file FrameworkClient wsdl. This is the web service description language, and can be used to develop your client-side application for other programming languages.

11/28/2011 Page 19 of 52

Settings for the Griaule Biometric Framework Demo Application

The Biometric_Framework_Installer.exe includes a demo application available in the “demo” folder of the Biometric Framework installation directory. The Biometric Framework C# Sample demo requires your account credentials in order for the application to connect with the Griaule Biometric Framework service. Follow the steps below to run and test the Griaule Biometric Framework service with the demo application:

1. Go to the Griaule Biometrics Framework webpage and login to the Control Panel. 2. In the control panel click on the “create” button to create a new account as

described in the Control Panel section of this manual. 3. Next click on “Add Applications on this account” button at the top of the control

panel. In the new window under the “Griaule Apps” tab select the “Griaule Biometric Framework C# Sample” to add the application to your account as described in the Add an application to an Framework Account chapter under the Control Panel section of this manual.

4. Next click on the “More” button on the top left of the control panel. Then click on “Account Credentials” in the drop down menu to view the Account GUID and Account Key credentials as described in the chapter View account and application credentials to authenticate under the Control Panel section of this manual

5. Once you have the application setup and account credentials from the control panel you can run the demo application “Biometric Framework Sample CSharp 2008.exe” on your computer. The first time you start the demo application a window will be shown asking for the Account GUID and Account Key. Paste the Account Credentials into the Authentication Settings fields and click on “Save” button.

6. The Biometric Framework Sample CSharp 2008 demo will now authenticate the Account Credentials with your Griaule Biometric Framework Service. After this is done, you can now test the Enroll, Search, and Delete features of the Griaule Biometric Framework service.

11/28/2011 Page 20 of 52

Using the Griaule Biometric Framework Demo Application

The Griaule Biometric Framework demo is designed to show you the basic features of how the service Enrolls New Users, Capture Fingerprints, Searches for User in the database, and how to Delete or Re-Enroll Users in the database. These are the same features that will be included when you integrate the Griaule Biometric Framework software with your application. When you start the Biometric Framework Sample C# 2008 demo you will see a application window like the one below.

There are 5 buttons on the Demo Application. Each one calls a Griaule Biometric Framework method to demonstrate how it works.

1. Framework Authentication Settings: Here is where you put the Account GUID and Account Key information that you got from the Control Panel. Once you enter this information and click on the “Save” button this will call the method authenticate for the Griaule Biometric Framework service.

2. Enroll: When you add a name and then click on the “Enroll” button; this will call the method enroll for the Griaule Biometric Framework and the enroll screen will appear. Follow the steps on the screen to enroll a user into the demo application.

11/28/2011 Page 21 of 52

o After the enrollment process has finished, the name and the GUID returned by the Griaule Biometric Framework will be saved in the database of the demo application.

3. Re-enroll: First select a user from the list and then click on the “Re-enroll” button; this will call the method enroll for the Griaule Biometric Framework that passes the argument of the GUID of the enrolled user. The enroll screen will appear with the users current registered fingerprints. Click on a finger to rescan the fingerprint of the user. After the re-enrollment process finished, the Griaule Biometric Framework will return the result of the operation and save them in the database of the demo application. The GUID of the user will not be changed by this process.

4. Delete: You need to select a user on the list then click on the “Delete” button; this will call the method delete for the Griaule Biometric Framework that passes the argument of the GUID of the enrolled user. A confirmation screen will appear, and when confirmed the Griaule biometric Framework will delete all the fingerprints of that user. The demo application will then remove the user entry from the database.

5. Search: When you click on the “Search” button this will call the method search for the Griaule Biometric Framework. The search screen will open and after the user places his finger on the fingerprint scanner; the Griaule Biometric Framework will search in the demo applications database and return the users GUID if the fingerprint was found. Then the demo application will show a message box with the result.

11/28/2011 Page 22 of 52

Fingerprint Scanner Installation

To install a fingerprint scanner on a computer running a Windows OS, follow these steps:

1. Get the latest version of the fingerprint scanner software driver provided by the manufacturer.

2. Install the fingerprint scanner software driver on the computer. 3. Plug in the fingerprint scanner and wait for the Operating System to recognize and

install the software driver for the fingerprint scanner.

To verify if the fingerprint scanner was installed successfully; please check if the fingerprint scanner appears in the Windows Device Manager list as shown like the image below. Example: Windows 7 Device Manger

11/28/2011 Page 23 of 52

Using the Griaule Biometric Framework

Prerequisites

In order to use the Griaule Biometric Framework service, install the Biometric Framework software on the computer. Then add the corresponding web service client to your application depending on the programming language you're using. Web Service clients for C#, Java, VB.NET and C++.NET are available in the "include" folder of the Biometric Framework installation directory. You can use other programming languages to create a Web Service client for your application by using the WSDL file available in the “wsdl” folder of the Biometric Framework installation directory.

Griaule Biometric Framework Communication Structure

The Griaule Biometric Framework search method has been designed so that when the local database host is not available, or the database has not completed synchronizing with the cloud database; the search methods will automatically switch and use the cloud database to process the search requests.

11/28/2011 Page 24 of 52

Griaule Biometric Framework Based Applications Overview

The image below shows the basic steps to authenticate the application with the Griaule Biometric Framework service, call a biometric method, and how the service interacts with the application database within your application. The Enroll, Search, and Delete methods can be repeated as many times as needed until you close the application.

11/28/2011 Page 25 of 52

How to Integrate the Griaule Biometric Framework in a Application The Griaule Biometric Framework Based Applications Overview above illustrates the steps shown below. After you complete the prerequisites section above, follow the steps below to integrate the features of the Griaule Biometric Framework service.

1. In the initialization of your application you need to call the method authenticate for the Griaule Biometric Framework service. A Session GUID will be returned if the authentication was successful.

2. To enroll the fingerprints, face, or voice of a new user for the first time; call the method enroll. This will start the enrollment process and the new user will follow the steps in the enrollment GUI to enroll their biometric information. Once the enrollment process is complete the Griaule Biometric Framework service will return a GUID identifying this user and their biometric information. Your application will need to store this GUID together with the user’s information data in your application’s database. There are 3 languages available (English, Spanish and Portuguese) for the enrollment process in the Griaule Biometric Framework service. Below are some of the screenshots from the enrollment process:

Figure 1. The 3 different types of interactive enrollment GUI’s for Fingerprint, Face and Voice

11/28/2011 Page 26 of 52

3. To update the biometric information of a user that has already been enrolled you will need to call the method enroll or enrollData for the Griaule Biometric Framework passing the GUID of the enrolled user as the argument. The GUID of the user will not be changed by this process.

4. To search for a user with their fingerprint; call the method search for the Griaule Biometric Framework service. The user will be asked to put their finger on the fingerprint scanner. The Griaule Biometric Framework will then search the biometric database and return the result for your application. If the user is found in the biometric database; the GUID of the user will be returned. Then your application must identify the user with the users GUID. Below is the screenshot of Griaule Biometric Framework Search GUI:

5. To delete a user and their biometric information from Griaule Biometric Framework; call the method deletePerson for the Griaule Biometric Framework passing the GUID of the enrolled user as the argument. The user’s fingerprints, face, voice, metadata, and GUID will be removed from the biometric database.

6. To delete a specific piece of biometric information from the Griaule Biometric Framework call the method delete passing the GUID of the enrolled user and the GFBiometricData type as the argument to define what piece of biometric information you want to delete.

7. When you want your application to end; call the method closeSession, and pass the Session-GUID that was returned by the method authenticate at the initialization of your application.

The Griaule Biometric Framework database only holds a user’s biometric information and metadata that is associated with a GUID. This is done for the user’s security in order to keep the users biometric information anonymous with the user identity. The application developer is responsible for creating a database that holds the users name, and other identification information that will be used to identify the user in your application.

11/28/2011 Page 27 of 52

How to use the Methods enrollData and searchData These methods are designed to enroll or search for users from a file or memory buffer and use a image format instead of having the person present. These methods also allow you to enroll or search for metadata information that is linked with the users biometric data.You can enroll the biometric data of a new user for the first time by calling the method enrollData. Then add the parameter GFMetadata to include text or other metadata with the biometric data in the enrollment process. The method searchData works in the same way and by using the parameter GFMetadata you can search for a person with their metadata information.

Face and Voice Enrollment

In order to use these new enrollment features you will need to enable these features in the Control Panel. Begin by selecting the Settings icon for the application in a Framework Account; then in the settings window you can enable or disable these features. Now when you call the method enroll in your application the Face and Voice enrollment windows will be shown after the fingerprint enrollment process has completed. Once the Face and Voice have been enrolled you can use this information in your application to help identify the user.

Face Enrollment - During the enrollment process after the fingerprint enrollment is complete a face enrollment window will start. The person being enrolled will align their face so that their eyes lines up within the eye holes of the face outline shown in the live image area on the monitor. You can use the zoom controls to help align the person’s face with the face outline in the live image area. Once the face is lined up correctly; click on the live image area to take a picture of the person’s face. After the picture has been taken; you will see a small ICAO standard image of the person’s face in the lower left hand corner of the Face Enrollment window. If the user does not align their face correctly you will get an error screen showing the details of how to take a better picture that will meet ICAO standards. If

11/28/2011 Page 28 of 52

there is no error screen shown and you are happy with the ICAO standard image; then click on the “Finalize” button to complete the Face Enrollment process.

Voice Enrollment – During the enrollment process after the fingerprint and face enrollment is complete a voice enrollment window will start. The first window will explain how to enroll the person’s voice. You will also need to select the microphone that will be used to record the voice; click on the “Next” button to proceed to the voice recording window. In the voice recording window you will see three symbols that the person is to speak out load. If the person being enrolled does not recognize one of the symbols; you can click on the “New Symbols” button to create new symbols for the person to record in this process. When you are ready click on the “Start Recording” button; you will see a 3,2,1 countdown and then the person will have 4 seconds to speak all three symbols. Once the recording is complete you can click on the “Listen” button to hear the recorded voice, and if you want to record the voice again click on the “Record Again” button. When you are satisfied with the recorded voice; click on the “Next” button to proceed in recording the next three symbols. The person being enrolled will need to record 20 sets of 3 symbols to complete the voice enrollment process. Deploying a Biometric Framework Based Application All the files required by a Biometric Framework based application can be found in the “bin” folder of the Biometric Framework installation directory. When you deploy your application, you need to pack the Griaule Biometric Framework Installer.msi together with the installation procedure of your application. Your deployment must call “Griaule Biometric Framework Installer.msi /q” and run it using the “/q” parameter. This will install the Griaule Biometric Framework service and all required files silently without the need for the user’s interaction within the installation procedure of your application. The Griaule Biometric Framework Installer.msi can be found in the “deploy” folder of the Biometric Framework installation directory.

Deploying with or without a Fingerprint Scanner

The Griaule Biometric Framework service is dynamic and can use both fingerprint scanners and image formats together at the same time or separately to identify users in a wide range of scenarios. When using a fingerprint scanner they should be installed on any computer where your application will Enroll or Search for users in the Griaule Biometric

11/28/2011 Page 29 of 52

Framework service. The fingerprint scanner adds the convenience of identifying users with just the press of their finger. There are no other forms of identification needed, or to be lost when you deploy your application with a fingerprint scanner. Follow the steps as described in the Fingerprint Scanners Installation section to install a fingerprint scanner. The Griaule Biometric Framework also supports using image files and raw image formats to enroll and search for users within a biometric application. These methods allow the developer to import biometric information from other programs so it is not necessary to re-enroll users if you already have their biometric information. This also allows the developer to store biometric information on other forms of hardware like a smart-card, or other electronic ID system, and gives the developer the option of not using a fingerprint scanner in their application. Please read enrollData, and searchData in the API section below for more information about how these methods could be included with your application.

Metadata support

The Griaule biometric framework now supports metadata storage in the cloud. There are two types of metadata that can be enrolled with the person’s biometric information; text data, and binary data. Using text data you can store up to 200 ANSI characters of data, and can be used to search for a person and their biometric information. The binary data can be used to store any type of information that can be stored in binary format, but cannot be used to search for a person. The binary data has a storage limit of 10mb per person enrolled in the Griaule Biometric Framework. In order to store the metadata in the biometric framework the programmer must develop the method of capturing the metadata in their application and then pass that information over to the Griaule Biometric Framework using the method enrollData with the persons GUID and GFMetadata struct. Please read enrollData, and metaData in the API section below for more information about how these methods could be included with your application.

11/28/2011 Page 30 of 52

Web Service Reference API This document contains the Methods, Complex Types, and Simple Types used in the Griaule Biometric Framework service to include the authenticate, enroll, search features into your applications code. These applications can then satisfy the biometric needs and the specific requirements of your company, and meet industry- and organization-specific needs.

Biometric Framework Web Service

Description – Web service to provide methods to integrate the Griaule Biometric Framework service into any kind of application Type - SOAP Style - Document Quick Links to - Methods | Complex Types | Simple Types

Biometric Framework Methods

Description All these methods are available in the Griaule Biometric Framework service. The main methods are: authenticate, closeSession, enroll, search and deletePerson.

Method Name Method Description

authenticate

Authenticates an account/application in the Griaule Biometric Framework service.

enroll

Enrolls a person and their fingerprints, face and voice. This method will show a GUI to guide the person in the enrollment process. A supported fingerprint scanner must be present and installed to proceed. After the process is finished, a GUID is returned identifying the person with their fingerprints. This GUID must be saved by the calling application together with the person’s information table.

search

This method searches for a person by fingerprint. This method will start the capture process in the supported fingerprint scanner. After the person puts their finger on the reader, the Griaule Biometric Framework will perform a search for the persons fingerprint in the database. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is.

deletePerson

Delete a person and their biometric information from the application's database on the Griaule Biometric Framework account.

delete

Delete a specific biometric record of a person from the application's database on the Griaule Biometric Framework account.

closeSession Close a session returned by the authenticate method.

11/28/2011 Page 31 of 52

enrollData

Enrolls a person with their fingerprints and metadata without a fingerprint scanner. All the fingerprint images are supplied from digital image files or memory buffer. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. You can now enroll any metadata together with the biometric data. A GUID is returned identifying the person with their fingerprints digital image. This GUID must be saved by the calling application together with the person’s information table.

OBSOLETE enrollFile

Enrolls a person and their fingerprints without a fingerprint scanner. All the fingerprint images are supplied from digital image files. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. A GUID is returned identifying the person with their fingerprints digital image. This GUID must be saved by the calling application together with the person’s information table.

OBSOLETE enrollRaw

Enrolls a person and their fingerprints using the memory buffer of raw digital images. A GUID is returned identifying the person with their fingerprints raw digital image. This GUID must be saved by the calling application together with the person’s information table.

searchData

This method searches for a person by using a digital image file or memory buffer in the database. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. You can also perform a search using the metadata text associated with the person. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is.

OBSOLETE searchFile

This method searches for a person by using a digital image file in the database. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is.

OBSOLETE searchRaw

This method searches for a person by using the memory buffer of a raw digital image. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is.

getCaptureInfo

Returns the biometric data of the last person that was enrolled or searched for in the biometric framework.

getEnrollInfo

Returns the enrolled biometric data or metadata of a person. The data is stored and retrieved from the cloud, and is available for people enrolled with the Griaule Biometric Framework version 2.0 or above.

11/28/2011 Page 32 of 52

Method: authenticate

Description - Authenticates an application in the Griaule Biometric Framework service. Style - Document Input (Literal) - The input of this method is the argument authenticate having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:account-guid xsd:string 1..1 GUID that identifies your account

and the database tns:key xsd:string 1..1 Account master key tns:application-guid xsd:string 1..1 GUID that identifies your application

Output (Literal) - The output of this method is the argument GFAuthResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the authentication tns:session-guid xsd:string 1..1 GUID of the session returned by

authenticate method

11/28/2011 Page 33 of 52

Method: enroll

Description - Enrolls a person and their fingerprints, face, and voice depending on the settings of the framework account. This method will show a GUI to guide the person in the enrollment process. A supported fingerprint scanner must be present, along with a camera, and a microphone installed to proceed with capturing the three different types of biometric data. After the process is finished, a GUID is returned identifying the person with their fingerprints. This GUID must be saved by the calling application together with the person’s information table. Style - Document Input (Literal) - The input of this method is the argument enroll having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

authenticate method tns:person-guid xsd:string 0..1 GUID of the person to re-enroll, or

empty string to enroll a new person

Output (Literal) - The output of this method is the argument GFEnrollResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the enroll tns:person-guid xsd:string 1..1 GUID of the new person enrolled

11/28/2011 Page 34 of 52

Method: search

Description - This method searches for a person by fingerprint. This method will start the capture process in the supported fingerprint scanner. After the person puts their finger on the scanner, the Griaule Biometric Framework will perform a search for the persons fingerprint in the database. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is. Style - Document Input (Literal) - The input of this method is the argument search having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate

tns:person-guid xsd:string 0..1

GUID of the person to search within their fingerprints, or a empty string to search all fingerprints in the database

tns:show-gui xsd:boolean 1..1 True if the search GUI must be shown.

tns:timeout xsd:int 1..1

Timeout to cancel the search when the GUI is not visible. This parameter will be considered when show-gui is false.

Output (Literal) - The output of this method is the argument GFSearchResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the searchResponse tns:person-guid xsd:string 1..1 GUID of the Person found

tns:finger-id xsd:int 1..1

Id of the finger found. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

tns:sensor-id xsd:string 1..1 ID of the fingerprint scanner used to capture the fingerprint image in the search

11/28/2011 Page 35 of 52

Method: deletePerson

Description - Delete a person and their biometric information from the application's database on the Griaule Biometric Framework account. Style - Document Input (Literal) - The input of this method is the argument deletePerson having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate tns:person-guid xsd:string 1..1 GUID of the person to delete

Output (Literal) - The output of this method is the argument deletePersonResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:response tns:GFResult 1..1 Result of deletePerson

Method: delete

Description - Delete a specific biometric record of a person from the application's database on the Griaule Biometric Framework account. Style - Document Input (Literal) - The input of this method is the argument delete having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate tns:biometric-type tns:GFBiometricType 1..1 Type of the biometrics. It can be

fingerprint, face or voice. tns:guid xsd:string 1..1 GUID of the person tns:index xsd:int 1..1 Index of the record.

Output (Literal) - The output of this method is the argument deleteResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:response tns:GFResult

1..1 Result of delete

11/28/2011 Page 36 of 52

Method: closeSession

Description - Close a session returned by the authenticate method. Style - Document Input (Literal) - The input of this method is the argument closeSession having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session to be closed

Output (Literal) - The output of this method is the argument closeSessionResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:response tns:GFResult 1..1 Result of the closeSession

Method: enrollData

Description - Enrolls a person with their fingerprints and metadata without a fingerprint scanner. All the fingerprint images are supplied from digital image files or memory buffer. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. You can also enroll any metadata together with the biometric data. A GUID is returned identifying the person with their fingerprints digital image. This GUID must be saved by the calling application together with the person’s information table. Style - Document Input (Literal) - The input of this method is the argument enrollData having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate.

tns:guid xsd:string 0..1 GUID of the person to re-enroll, or empty string to enroll a new person.

tns:biometric-data tns:GFBiometricData 0.. * Array of biometric data used to enroll

a person.

tns:metadata tns:GFMetadata 0.. 1 Metadata to be stored together with this person’s biometric data.

11/28/2011 Page 37 of 52

Output (Literal) - The output of this method is the argument GFEnrollDataResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the enrollData. tns:guid xsd:string 1..1 GUID of the new person enrolled.

Method: enrollFile - OBSOLETE

Description - Enrolls a person and their fingerprints without a fingerprint scanner. All the fingerprint images are supplied from digital image files. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. A GUID is returned identifying the person with their fingerprints digital image. This GUID must be saved by the calling application together with the person’s information table. Style - Document Input (Literal) - The input of this method is the argument enrollFile having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by

the method authenticate tns:person-guid xsd:string 0..1 GUID of the person to re-enroll, or

empty string to enroll a new person

tns:file-images tns:GFArrayOfFileImage 0..1 Array of fingerprints and their digital image files used to enroll a person

Output (Literal) - The output of this method is the argument GFEnrollFileResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the enrollFile tns:person-guid xsd:string 1..1 GUID of the new person enrolled

11/28/2011 Page 38 of 52

Method: enrollRaw - OBSOLETE

Description - Enrolls a person and their fingerprints using the memory buffer of raw digital images. A GUID is returned identifying the person with their fingerprints raw digital image. This GUID must be saved by the calling application together with the person’s information table. Style - Document Input (Literal) - The input of this method is the argument enrollRaw having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by

the method authenticate tns:person-guid xsd:string 0..1 GUID of the person to re-enroll, or

empty string to enroll a new person tns:raw-images tns:GFArrayOfRawImage 0..1 Array of fingerprints and their raw

digital images to enroll

Output (Literal) - The output of this method is the argument GFEnrollRawResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the enrollRaw tns:person-guid xsd:string 1..1 GUID of the new person enrolled

11/28/2011 Page 39 of 52

Method: searchData

Description - This method searches for a person by using a digital image file or memory buffer in the database. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. You can also perform a search using the metadata text associated with the person. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is. Style - Document Input (Literal) - The input of this method is the argument searchData having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate

tns:guid xsd:string 0..1

GUID of the person to search within their fingerprints, or a empty string to search all fingerprints in the database

tns:biometric-data tns:GFBiometricData 0.. * Represents the biometric data that

will be searched

tns:metadata xsd:string 0.. 1 Represents the metadata that will be searched

Output (Literal) - The output of this method is the argument GFSearchDataResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the searchData tns:guid xsd:string 1..1 GUID of the found person

tns:index xsd:int 1..1

Id of the finger found. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

11/28/2011 Page 40 of 52

Method: searchFile - OBSOLETE

Description - This method searches for a person by using a digital image file in the database. The Griaule Biometric Framework supports these file types: BMP, PNG, TIFF, JPG and WSQ. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is. Style - Document Input (Literal) - The input of this method is the argument searchFile having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate

tns:person-guid xsd:string 0..1

GUID of the person to search within their fingerprints, or a empty string to search all fingerprints in the database

tns:file-image tns:GFFileImage 0..1 Represents the fingerprint digital image file that will be searched

Output (Literal) - The output of this method is the argument GFSearchFileResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the searchFile tns:person-guid xsd:string 1..1 GUID of the found person

tns:finger-id xsd:int 1..1

Id of the finger found. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

11/28/2011 Page 41 of 52

Method: searchRaw - OBSOLETE

Description - This method searches for a person by using the memory buffer of a raw digital image. If the person is found; the Griaule Biometric Framework will return the GUID of that person. Then your application can identify who the person is. Style - Document Input (Literal) The input of this method is the argument searchRaw having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate

tns:person-guid xsd:string 0..1

GUID of the person to search within their fingerprints, or a empty string to search all fingerprints in the database

tns:raw-image tns:GFRawImage 0..1 Raw digital fingerprint image

Output (Literal) - The output of this method is the argument GFSearchRawResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the searchRaw tns:person-guid xsd:string 1..1 GUID of the found person

tns:finger-id xsd:int 1..1

Id of the finger found. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

11/28/2011 Page 42 of 52

Method: getCaptureInfo

Description - Returns the biometric data of the last person that was enrolled or searched for in the biometric framework. Style - Document Input (Literal) - The input of this method is the argument getCaptureInfo having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid xsd:string 1..1 GUID of the session returned by the

method authenticate tns:capture-source tns:GFCaptureSource 1..1 Source of the capture: enroll or

search.

tns:guid xsd:string 1..1 GUID of the person to get capture info. It must be equal the GUID returned by the last enroll or search.

tns:info-request tns:GFInfoRequest 0..1 Represents the information that is

being requested. Output (Literal) - The output of this method is the argument GFGetCaptureInfoResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult 1..1 Result of the getCaptureInfo tns:biometric-data tns:GFBiometricData 0..* Array of biometric data captured by

the last enroll or search tns:metadata tns:GFMetadata 0..1 Reserved for future use

11/28/2011 Page 43 of 52

Method: getEnrollInfo

Description - Returns the enrolled biometric data or metadata of a person. The data is stored and retrieved from the cloud, and is available for people enrolled with the Griaule Biometric Framework version 2.0 or above. Style - Document Input (Literal) - The input of this method is the argument getEnrollInfo having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:session-guid

xsd:string 1..1 GUID of the session returned by the method authenticate

tns:guid xsd:string 1..1 GUID of the person to get enroll info.

tns:info-request

tns:GFInfoRequest 0..1 Represents the information that is being requested.

Output (Literal) - The output of this method is the argument GFGetEnrollInfoResponse having the structure defined by the following table.

Element Type Occurs Description SEQUENCE 1..1 tns:gf-result tns:GFResult

1..1 Result of the getEnrollInfo tns:biometric-data

tns:GFBiometricData 0..* Array of biometric data associated with the enrolled Person

tns:metadata tns:GFMetadata 0..1 Metadata associated with the enrolled Person.

11/28/2011 Page 44 of 52

Biometric Framework Complex Types

Complex Type Name Description

tns:GFArrayOfFileImage

Array of digital fingerprint image files to be supplied to the method enrollFile

tns:GFArrayOfRawImage

Array of raw digital fingerprint image files to be supplied to the method enrollRaw

tns:GFFileImage File image structure to be supplied to the method searchFile tns:GFRawImage Raw image structure to be supplied to the method searchRaw

tns:GFMetadata

Metadata to be associated with a person through the method enrollData.

tns:GFBiometricData Represents the biometric data.

tns:GFInfoRequest

Information requested for the method getCaptureInfo or getEnrollInfo.

Complex Type: tns:GFArrayOfFileImage

Description - Array of digital fingerprint image files to be supplied to the method enrollFile. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1

tns:file-images tns:GFFileImage 0..* Array of digital fingerprint image files used to enroll a person

tns:number-of-file-images xsd:int 1..1 Number of digital fingerprint

image files in the array

Complex Type: tns:GFArrayOfRawImage

Description - Array of raw digital fingerprint image files to be supplied to the method enrollRaw. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1

tns:raw-images tns:GFRawImage 0..* Array of raw digital fingerprint image files used to enroll a person

tns:number-of-raw-images xsd:int 1..1

Number of raw digital fingerprint images in the array

11/28/2011 Page 45 of 52

Complex Type: tns:GFFileImage

Description - File image structure to be supplied to the method searchFile. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1

tns:file-path xsd:string 1..1 File path to the digital fingerprint image

tns:res xsd:int 1..1 Digital fingerprint image resolution

tns:finger-id xsd:int 1..1

Id of the finger. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

Complex Type: tns:GFRawImage

Description - Raw image structure to be supplied to the method searchRaw. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1

tns:raw-data xsd:base64Binary 0..1 Memory buffer with the raw digital fingerprint image

tns:width xsd:int 1..1 Width of the raw digital fingerprint image

tns:height xsd:int 1..1 Height of the raw digital fingerprint image

tns:res xsd:int 1..1 Raw digital fingerprint image resolution

tns:finger-id xsd:int 1..1

Id of the finger. (0 to 9 - 0 is the left little finger moving left across the hands to 9 is the right little finger)

11/28/2011 Page 46 of 52

Complex Type: tns:GFMetadata

Description - Metadata to be associated with a person through the method enrollData. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1 tns:binary xsd:base64Binary 0..1 Memory buffer with any

binary data. tns:text xsd:string 1..1 Any text.

Complex Type: tns:GFBiometricData

Description - Represents a biometric data. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1 tns:data-source tns:GFDataSource 1..1 Data source tns:processing-level tns:GFBiometricProcessingLevel 1..1 Biometric processing level

tns:biometric-type tns:GFBiometricType 1..1 Type of biometrics

tns:file-path xsd:string 1..1 File path of the biometric data. Used when data source is GF-DS-FILE.

tns:content-format xsd:int 1..1

Format of the Biometric Data. GFImageFormat or GFSoundFormat when processing level is GF-PROCESSING-ORIGINAL. And GFFingerprintTemplateFormat or GFFaceTemplateFormat or GFVoiceTemplateFormat when processing level is GF-PROCESSING-TEMPLATE.

tns:content xsd:base64Binary 0..1 Content of the biometric data. Used when data source is GF-DS-MEMORY.

tns:width xsd:int 1..1 Width of the face or fingerprint image.

tns:height xsd:int 1..1 Height of the face or fingerprint image.

11/28/2011 Page 47 of 52

tns:resolution xsd:int 1..1 Resolution of the fingerprint image.

tns:index xsd:int 1..1 Index of this record.

tns:metadata tns:GFMetadata 0..1 Metadata associated with this biometric data.

tns:capture-info xsd:string 1..1 Information about the live capture process.

tns:pattern-classification tns:GFPatternClassification 1..1 Pattern classification of the

fingerprint image. tns:auxiliary-images tns:GFAuxiliaryImage 0..* Auxiliary images of the

fingerprint image.

Complex Type: tns:GFInfoRequest

Description - Information requested for the method getCaptureInfo or getEnrollInfo. Derived By - Restricting xsd:anyType Content Model - Contains elements as defined in the following table.

Component Type Occurs Description SEQUENCE 1..1 tns:metadata xsd:boolean 1..1 Request metadata tns:biometric-data xsd:boolean 1..1 Request biometric data tns:biometric-type tns:GFBiometricType 1..1 Type of biometrics tns:processing-level tns:GFBiometricProcessingLevel 1..1 Processing level requested tns:index xsd:int 1..1 Index of the record tns:content-format xsd:int 1..1 Content format

tns:pattern-classification xsd:boolean 1..1

Request pattern classification. Just for GF-FINGERPRINT

tns:auxiliary-images xsd:boolean 1..1 Request auxiliary images. Just for GF-FINGERPRINT

11/28/2011 Page 48 of 52

Biometric Framework Simple Types

Simple Type Name Description tns:GFResult Result of the operation

tns:GFImageFormat

Format of an image that can be used for face or fingerprint enrollment. Used in content-format element of GFBiometricData

tns:GFSoundFormat

Format of sound used in content-format element of GFBiometricData.

tns:GFAuxImageType

Type of the auxiliary image used only for fingerprints.

tns:GFFingerprintTemplateFormat Type of fingerprint template. tns:GFFaceTemplateFormat Type of face template. tns:GFVoiceTemplateFormat Type of voice template. tns:GFPatternClassification Pattern classification of a fingerprint.

tns:GFCaptureSource

Source of the capture. Live Enroll or Live Search.

tns:GFBiometricType Type of biometrics. tns:GFDataSource Source of the biometric data. tns:GFBiometricProcessingLevel Processing level of the biometric data.

Simple Type: tns:GFResult

Description - Result of the operation Derived By - Restricting xsd:string Enumeration

Value Description

GFR-ERROR-CONNECTION Returned by the method authenticate or enroll when there is a problem with Internet connection.

GFR-USER-CANCELED Returned by either the enroll or search method when the person cancels or closes the GUI.

GFR-SESSION-EXPIRED Reserved for future use. GFR-KEY-EXPIRED Reserved for future use.

GFR-IS-SYNCHRONIZING Returned by either the search or enroll method when the server of the local database is synchronizing with the cloud database.

GFR-ERROR-ALLOC

Any method can return this value. This is usually a problem with memory allocation. Maybe the memory in the computer is insufficient for the size of the database.

GFR-TIMEOUT Returned by the search method if a timeout occurs.

11/28/2011 Page 49 of 52

GFR-ERROR-FINGER-ALREADY-REGISTERED

This error occurs during the enrollment process using digital fingerprint image files or raw digital fingerprint image files. It means the fingerprint was already registered before.

GFR-ERROR-PARAMETERS The supplied parameters are incorrect. GFR-NOT-FOUND Reserved for future use.

GFR-INVALID-SESSION-GUID

This error can be returned by all the methods that have a session GUID as the parameter. The solution is to call the authenticate method again.

GFR-DB-ERROR Unexpected behavior in the enroll method. There could be a problem with database file.

GFR-ACCESS-DENIED This error means that you do not have access to the operation you are trying to do.

GFR-RECORD-DELETED In the method deletePerson this error means that the Person was already deleted.

GFR-ERROR-FINGERPRINT-LIBRARY Unexpected error in fingerprint library. Maybe the supplied file or raw image is corrupt.

GFR-ERROR-ERROR Unknown error. GFR-OK Successful process.

GFR-PERSON-FOUND In a search; this will be returned if the Person's fingerprint was found.

GFR-PERSON-NOT-FOUND In a search; this will be returned if the Person's fingerprint was not found.

GFR-PERSON-VERIFIED In a search verification; this will be returned if the Person's fingerprint was verified with the enrolled one.

GFR-PERSON-NOT-VERIFIED In a search verification; this will be returned if the Person's fingerprint did not match with the enrolled one.

Simple Type: tns:GFImageFormat

Description - Format of an image that can be used for face or fingerprint enrollment. Used in content-format element of GFBiometricData. Derived By - Restricting xsd:string Enumeration

Value Description GF-IMAGE-FORMAT-RAW Raw format used for fingerprint images. GF-IMAGE-FORMAT-WSQ WSQ format used for fingerprint images. GF-IMAGE-FORMAT-BMP BMP format. GF-IMAGE-FORMAT-TIFF Tiff format. GF-IMAGE-FORMAT-PNG Png format. GF-IMAGE-FORMAT-JPEG Jpeg format

11/28/2011 Page 50 of 52

GF-IMAGE-FORMAT-JPEG2000 Jpeg 2000 format. GF-IMAGE-FORMAT-GIF Gif format.

Simple Type: tns:GFSoundFormat

Description - Format of sound used in content-format element of GFBiometricData. Derived By - Restricting xsd:string Enumeration

Value Description GF-IMAGE-FORMAT-PCM PCM GF-IMAGE-FORMAT-WAV WAV

Simple Type: tns:GFAuxImageType

Description - Type of the auxiliary image used only for fingerprints. For more information about Auxiliary Images please read http://www.griaulebiometrics.com/en-us/afis_sdk/features/auxiliary-images Derived By - Restricting xsd:string Enumeration

Value Description GF-AUX-500DPI a 500 DPI version of the extracted image GF-AUX-BINARY a binary image GF-AUX-QUALITY-MAP a quality map GF-AUX-ROI region of interest GF-AUX-DIRECTIONAL-MAP a ridge directions map GF-AUX-RIDGES a ridge image

Simple Type: tns:GFFingerprintTemplateFormat

Description - Type of fingerprint template. Derived By - Restricting xsd:string Enumeration

Value Description GF-FINGERPRINT-TEMPLATE-UNKNOWN Unknown format GF-FINGERPRINT-TEMPLATE-PRIVATE Griaule template - Proprietary format GF-FINGERPRINT-TEMPLATE-ISO-197942 ISO 19794-2 GF-FINGERPRINT-TEMPLATE-ANSI-378 ANSI 378/2004

11/28/2011 Page 51 of 52

Simple Type: tns:GFFaceTemplateFormat

Description - Type of face template. Derived By - Restricting xsd:string Enumeration

Value Description GF-FACE-TEMPLATE-PRIVATE Griaule template - Proprietary format

Simple Type: tns:GFVoiceTemplateFormat

Description - Type of voice template. Derived By - Restricting xsd:string Enumeration

Value Description GF-VOICE-TEMPLATE-PRIVATE Griaule template - Proprietary format

Simple Type: tns:GFPatternClassification

Description - Pattern classification of a fingerprint. For more information please read http://www.griaulebiometrics.com/en-us/afis_sdk/features/automatic-pattern-classification. Derived By - Restricting xsd:string Enumeration

Value Description GF-PATTERN-PLAIN-ARCH Plain Arch GF-PATTERN-LEFT-LOOP Left Loop GF-PATTERN-RIGHT-LOOP Right Loop GF-PATTERN-WHORL Whorl GF-PATTERN-TENTED-ARCH Arch GF-PATTERN-PLAIN-WHORL Plain Whorl GF-PATTERN-CENTRAL-POCKET-LOOP Central Pocket Loop GF-PATTERN-DOUBLE-LOOP Double Loop GF-PATTERN-ACCIDENTAL-WHORL Accidental Whorl GF-PATTERN-RIGHT-SLANT-LOOP Right Slant Loop GF-PATTERN-LEFT-SLANT-LOOP Left Slant Loop GF-PATTERN-SCAR Scar GF-PATTERN-AMPUTATION Amputation GF-PATTERN-UNKNOWN Unknown GF-PATTERN-ANOMALOUS Anomalous

11/28/2011 Page 52 of 52

Simple Type: tns:GFCaptureSource

Description - Source of the capture. Live Enroll or Live Search. Derived By - Restricting xsd:string Enumeration

Value Description GF-CAPTURE-ENROLL Enroll GF-CAPTURE-SEARCH Search

Simple Type: tns:GFBiometricType

Description - Type of biometrics. Derived By - Restricting xsd:string Enumeration

Value Description GF-FINGERPRINT Fingerprint GF-FACE Face GF-VOICE Voice

Simple Type: tns:GFDataSource

Description - Source of the biometric data. Derived By - Restricting xsd:string Enumeration

Value Description GF-DS-FILE File GF-DS-MEMORY Memory buffer

Simple Type: tns:GFBiometricProcessingLevel

Description - Processing level of the biometric data. Derived By - Restricting xsd:string Enumeration

Value Description

GF-PROCESSING-ORIGINAL

The biometric data is the original data without any processing. For fingerprints and faces, it is an image. And for voice is the sound buffer in PCM or WAV.

GF-PROCESSING-TEMPLATE The biometric data was processed.