Vous êtes sur la page 1sur 59

Manual de Programación

Pro Fdx SDK para Java


Para las aplicaciones que utilizan Secugen® lectores de huellas digitales

A1-0040SG-001 (05/13)

© Copyright 1998-2012 Secugen Corporation.


TODOS LOS DERECHOS RESERVADOS. Las especificaciones están sujetas a cambios sin previo aviso. SECUGEN, Auto-On,
FDP02, FDU01, FDU02, FDU03, FDU04, SDU03, SDU04 y Smart Capture son marcas comerciales o marcas comerciales
registradas de Secugen Corporation. Todas las demás marcas o productos pueden ser marcas registradas, marcas de servicio o
marcas comerciales registradas de sus respectivos propietarios.
FDX SDK Pro Manual de Programación -
Java

Contenido
ANTES DE COMENZAR... ... ... ... ... 4
LA biometría 4 DESCRIPCIÓN GENERAL... ... ... ... ... ... ...
SOBRE SECUGEN... ... ... ... ... ... ... ...
SOBRE SECUGEN 5 PRODUCTOS... ... ... ... ... ...
EL CAPÍTULO 1. DESCRIPCIÓN GENERAL... ... ... ... 6
1.1. CARACTERÍSTICAS…………………….6.
1.2. REQUISITOS DEL SISTEMA………….. 6...
1.3. ENTORNO DE DESARROLLO 7... ... ... ...
EL CAPÍTULO 2. INSTALACIÓN... ... ... ... ... ... 8
2.1. INSTALACIÓN... ... ... ... ... ... ... ...
2.2. INCLUYE 8 ARCHIVOS... ... ... ... ... ...
2.3. DISTRIBUCIÓN EN TIEMPO DE EJECUCIÓN 8... ... ... ... ...
EL CAPÍTULO 3. PROGRAMACIÓN EN JAVA... ... ... ... ... ... ... ... 9
3.1. CREAR JSGFPLIB…………..9
3.2. INICIALIZAR JSGFPLIB……………9.
3.3. TERMINAR JSGFPLIB…………….10...
3.4. ABRIR EL LECTOR DE huellas dactilares SECUGEN……………..10
3.5. OBTENER INFORMACIÓN DEL DISPOSITIVO... ... ... ... 10
3.6. CAPTURAR UNA IMAGEN DE LA HUELLA………………… 11.
3.7. OBTENGA CALIDAD DE IMAGEN... ... ... ... ... ... ... ... 11
3.8. USO DE SMART CAPTURE™ O CONTROLAR EL BRILLO MANUALMENTE………..12.
3.9. CREAR UNA PLANTILLA………………………………………….. 12
3.10. COINCIDIR CON PLANTILLAS…………………………………..13
3.11. REGISTRAR UNA HUELLA DIGITAL……………………………16
3.12. VERIFICAR UNA HUELLA DACTILAR………………………….17
3.13. OBTENER PUNTAJE CORRESPONDIENTE……………………18
3.14. FORMATO DE LA PLANTILLA …………………………………..19
3.15. MANIPULAR ANSI378 PLANTILLAS... ... ... ... ... ... …………..20
3.16. MANIPULAR ISO19794-2 PLANTILLAS... ... ... ... ... ... ... .........22
3.17. OBTENER INFORMACIÓN SOBRE LA VERSIÓN DEL MINEX ALGORITMOS COMPATIBLES CON……23
EL CAPÍTULO 4. REFERENCIA DE LA FUNCIÓN JSGFPLIB………………24
4.1. JSGFPLIB CREACIÓN Y TERMINACIÓN 24... ... ... ... ... ...
4.2. INICIALIZACIÓN 24... ... ... ... ... ...
4.3. DISPOSITIVO Y CAPTURAR 25 FUNCIONES... ... ... ... .....28
4.4. FUNCIONES DE EXTRACCIÓN... ... ... ... ... ... ...29
4.5. FUNCIONES DE COINCIDENCIA... ... ... ... ... ... ...29
4.6. FUNCIONES DE ANSI378 31 PLANTILLAS... ... ... ... ... ... ... ...31
4.7. FUNCIONES DE LA NORMA ISO19794-233 PLANTILLAS... ... ... ... .....33.
4.8. OTROS... ... ... ... ... ... ... ...35
EL CAPÍTULO 5. REFERENCIA DE LA CLASE------------------------------- 36
5.1. JAVA DOCUMENTACIÓN………………………………….36
EL CAPÍTULO 6. LAS CONSTANTES………………………………………37
6.1. SGFDXDEVICENAME-------------------------- 37.
6.2. SGFDXSECURITYLEVEL---------------------- 37
6.3. SGFDXTEMPLATEFORMAT………………37
6.4. SGIMPRESSIONTYPE……………………….37
6.5. SGFINGERPOSITION……………………38.
6.6. SGFDXERRORCODE……………………. 38.
6.7. SGFDXCONSTANT……………………..38
EL CAPÍTULO 7. 39 EJEMPLOS DE APLICACIONES... ... ... ... ... ... ... ...
7.1. JSGD - PRUEBA DE HARDWARE PROGRAMA 39... ... ... ... ... ...
7.2. PROGRAMA DE PRUEBA JFPLIB 40... ... ... ... ...
EL CAPÍTULO 8. SUBPROGRAMA FIRMADO Y INTEGRACIÓN DE EXPLORADOR WEB 41... ... ... ... ... ... ...
...
8.1. INSTALAR EL FDX SDK PRO PARA JAVA RUNTIME LIBRARY…………………..41.
8.2. GENERAR UN CERTIFICADO DIGITAL Y EL PAR DE CLAVES (GENKEY.BAT)... ... ... ... 41
8.3. CREAR UN ARCHIVO JAR FIRMADO (BUILDSIGNEDAPPLET.BAT) ... ... ... ... ... ... ... ..41
8.4. EXPORTAR EL CERTIFICADO (EXPORTCERT.BAT)... ... ... ... ... ... ... 43
II
FDX SDK Pro Manual de Programación -
Java8.5. IMPORTAR EL CERTIFICADO EN JAVA PLUG-IN43... ... ... ... ... ... ... ...

II
FDX SDK Pro Manual de Programación -
Java

8.6. ABRIR EL APPLET DEMO ARCHIVO HTML………………………….46


8.7. NAVEGADOR INTERNET EXPLORER…………………………………47
8.8. NAVEGADOR FIREFOX…………………………………………………..48
8.9. NAVEGADOR GOOGLE CHROME……………………………………..49

III
FDX SDK Pro Manual de Programación -
Java

Antes de comenzar
La biometría Resumen
La biometría es un método automatizado de reconocer a una persona basándose en características físicas o de
comportamiento. Información biométrica que se puede utilizar para determinar con precisión qué
personas incluye huellas dactilares, voz, rostro, iris, escritura y ángulos.

Hay dos funciones clave ofrecidos por un sistema biométrico. Uno de los métodos es la identificación, un "uno-a-
muchos" proceso de coincidencia en que una muestra biométrica se compara secuencialmente a un conjunto de
muestras para determinar el modelo más cercano. La otra es la verificación, de un "uno-a-uno" proceso de
conciliación en la que el sistema biométrico cheques previamente inscritos los datos de un usuario
específico para verificar si la persona es quién él o ella dice ser. El método de verificación ofrece la mejor
combinación de velocidad y seguridad, especialmente en los casos en que varios usuarios están preocupados,
y requiere un ID. de usuario u otro identificador de coincidencia.

Con una creciente dependencia de la tecnología en línea y otros recursos compartidos, la era de l a
información está revolucionando rápidamente el camino las transacciones se inició y terminó. Las
transacciones comerciales de todo tipo están cada vez más que se maneja en línea y a distancia. Este
crecimiento sin precedentes en las transacciones electrónicas ha puesto de relieve la necesidad de una más
rápida, más segura y más conveniente método de verificación de usuario de contraseñas puede proporcionar.

Mediante la utilización de datos biométricos ofrece varias ventajas sobre métodos tradicionales y actuales. Esto
se debe a que sólo autenticación biométrica se basa en la identificación de una parte intrínseca de un ser
humano. Fichas como las tarjetas inteligentes, las tarjetas de banda magnética y teclas físicas, puede ser
perdido, robado, duplicar o abandonado. Las contraseñas se pueden olvidar, compartida, pirateadas
o involuntariamente observado por un tercero. Al eliminar todos estos problemas potenciales, tecnología
biométrica puede proporcionar una mayor seguridad, con comodidad, es necesario para el día de hoy el
complejo paisaje electrónico.

Las ventajas de utilizar las huellas


dactilares

Las ventajas de utilizar las huellas digitales incluyen una amplia aceptación entre el público, comodidad y fiabilidad.
No hace falta mucho tiempo y esfuerzo para capturar la huella dactilar con un lector de huellas dactilares,
reconocimiento de huellas dactilares y por lo tanto se considera entre los menos intrusivo de todos las técnicas de
verificación biométrica. Los funcionarios antiguos utilizan huellas dactilares para sellar los documentos hace
miles de años, y los organismos de aplicación de la ley han estado usando identificación de huellas dactilares
desde finales de 1800. Las huellas dactilares han sido usadas extensamente y por mucho tiempo, hay una gran
acumulación de datos científicos apoyando la idea de que no hay dos huellas dactilares iguales.

Sobre Secugen
SECUGEN (www.secugen.com) ofrece soluciones biométricas de seguridad física y de red que utiliza la
avanzada tecnología de reconocimiento de huellas dactilares. La compañía completa línea de productos
incluye óptico de alta calidad los lectores de huellas digitales y el sensor de componentes, software y kits de
desarrollo que se utilizan para una variedad de aplicaciones innovadoras como Internet, red de la empresa y la
seguridad de escritorio, control de acceso físico, el tiempo y la asistencia financiera y de gestión de control y
los registros médicos. Secugen productos patentados de la industria de más años de garantía y son conocidos
por su precisión, fiabilidad y versatilidad. Con base en Silicon Valley, Secugen ha estado sirviendo a
la comunidad biométrica mundial desde 1998 y es miembro activo de la biometría (www.biometrics.org) y el
4
FDX SDK Pro Manual de Programación -
JavaConsorcio BioAPI Consortium (www.bioapi.org).

5
FDX SDK Pro Manual de Programación -
Java

Sobre Secugen Productos


Sensor Secugen Cualidades
 Una excelente calidad de imagen: claro y sin distorsión, las imágenes de las huellas digitales se generan
mediante avanzados patente pendiente métodos ópticos. Mejor calidad de imagen
rendimiento característicos muestras de extracción de datos.
Resistencia: resistencia mecánica las pruebas muestran resistencia a los choques, golpes y arañazos.
Potente Software: precisa, procesamiento rápido algoritmo garantiza la máxima eficiencia y fiabilidad.
 Robustez y versatilidad: Una sólida ingeniería y materiales de alta calidad permite su uso en condiciones
extremas.
Diseño Ergonómico: diseño compacto y modular para una integración perfecta en los dispositivos de pequeño tamaño, la
facilidad de uso y
Compatibilidad hacen que sea ideal para una amplia gama
de aplicaciones.
 Bajo Costo: Los productos se han desarrollado para ofrecer un alto rendimiento, cero mantenimientos a
precios muy asequibles para el uso general y uso industrial.

Las ventajas de los sensores de Secugen otros sensores ópticos


Único método óptico captura todos los detalles, incluso con la piel seca
Extremadamente baja distorsión de la imagen
Materiales reforzados
Resistencia al desgaste

Facilidad de integración
Listo para usar
Bajo costo a través vida útil más larga y sin necesidad de mantenimiento

Secugen Ventajas Sensores capacitivos de Semiconductor (Sensores)


 No de metal, no de los componentes de silicio hace que sea menos susceptible a la corrosión cuando están
expuestos a sales, el aceite y la humedad de la piel y el medio ambiente
 elimina la necesidad de costosos procedimientos de tratamiento y revestimiento
Mayor resistencia mecánica, resistencia al desgaste y durabilidad
Amplia gama de aplicabilidad, especialmente para el uso en condiciones extremas y climas
Inmunidad de descarga electrostática
Bajo costo a través vida útil más larga y sin necesidad de mantenimiento

Puntos fuertes de Secugen Software y algoritmos


Único algoritmo de procesamiento de imágenes de huellas dactilares extractos minucias muy precisa
Una alta relación señal/ruido con algoritmo de procesamiento características pantallas falsas
Altamente eficiente algoritmo de coincidencia
Rápido proceso general de extracción, verificación y adaptación
Función de cifrado para proteger la privacidad del usuario
Compatibilidad con equipos de sobremesa, ordenadores portátiles interfaz
Facilidad para el desarrollo de aplicaciones para diversos fines

6
FDx SDK Pro Programming Manual - Java Chapter 1. Overview

El Capítulo 1.
Descripción general
Secugen Fdx SDK de Pro está diseñado para proporcionar acceso a bajo nivel de Secugen lectores de huellas
digitales con la siguiente generación de algoritmo módulo. La programación con Secugen Fdx SDK Pro es simple y
fácil de programa y proporciona la mayor flexibilidad en el desarrollo entre todos los SDK Secugen

1.1.
Característic
as

Admite tres tipos de huellas digitales formatos característicos (o plantillas):
O SG400: Secugen propiedad de minucias formato huella dactilar
O ANSI378: Dedo minucias Formato para el Intercambio de Datos (ANSI INCITS 378-2004)
O ISO19794-2: Intercambio de Datos biométricos Formatos (Dedo Datos característicos (ISO/IEC 19794-2:2005)
Proporciona Api de bajo nivel para la captura de la imagen, y de extracción de características
S La siguiente extracción y algoritmos de coincidencia, que se han incorporado en sgfpamx.dll, que se
encuentra en el SDK, el apoyo de la norma ANSI INCITS 378-2004 estándar y han sido probados
para ser MINEX compatible (http://fingerprint.nist.gov/MINEX/):

 Plantilla Matcher v3.5 (algoritmo)
Permite un alto grado de flexibilidad a los desarrolladores de todo tipo de aplicaciones y es fácil de usar

1.2. Requisitos del


sistema
Los lectores de huellas digitales USB Secugen capturar una imagen de la huella y digitalizar la imagen a 8 bits
imagen en escala de grises en
500 DPI de resolución. El sistema host, a continuación, recupera la imagen a través de su puerto USB para su
procesamiento posterior. Todos
Secugen USB lectores de huellas digitales, excepto los que son a base de FDU01 sensores, son
compatibles con esta.

Requiere

IBM-PC compatible 486 o posterior


1 Puerto USB (1.1 o superior) para el lector de huellas digitales USB Secugen
64 MB de RAM
80 MB de espacio disponible en el disco duro
Windows 7 / Windows Vista / XP / 2000 / 98 SE, Windows Server 2008 R2 / 2003
Java SDK v1.6.0_30 o posterior
Java JRE v1.6.0_30 o posterior

7
FDx SDK Pro Programming Manual - Java Chapter 1. Overview

1.3. Entorno de desarrollo


Requiere: Secugen Fdx SDK Pro para Windows v is3.54 o
posterior

1.3.1. Instalar el Fdx SDK Pro para


Windows
FDX SDK Pro para Java es un Java Native Interface (JNI) contenedor de Fdx SDK Pro para Windows. La
biblioteca en tiempo de ejecución JNISGFPLIB incluidos en este SDK pasa las llamadas a la biblioteca en
tiempo de ejecución SGFPLIB Fdx SDK incluye en Pro para Windows. Consulte el Fdx SDK Pro para
Windows Manual de instalación para obtener instrucciones detalladas sobre la instalación.

1.3.2. Instalar el Java 2 SDK v1.6.0_30


El SDK de Java se puede descargar de www.oracle.com/technetwork/java. Refer a la Java documentación para
obtener instrucciones detalladas sobre la instalación.

Después de instalar el Java SDK, compruebe que ha instalado correctamente mediante el lanzamiento de
una línea de comandos y ejecutar los siguientes comandos

Java -version
Javac -version

1.3.3. Copie el Fdx SDK Pro para directorio de Java a la ubicación de


destino
FDX SDK Pro para Java se distribuye como una estructura de directorios que contiene todos los archivos Jar,
la JNI biblioteca y diversos archivos de proceso por lotes que se pueden usar para compilar y ejecutar los
ejemplos de aplicaciones. Mientras que el Java SDK y Fdx SDK Pro para Windows está instalado
correctamente, el Fdx SDK Pro para Java puede ser instalado en cualquier ubicación conveniente.

8
FDx SDK Pro Programming Manual - Java Chapter 2. Installation

El Capítulo 2. Instalación
2.1. Instalación
Copie el Fdx SDK Pro para distribución de Java en un directorio nuevo en el equipo de desarrollo.

2.2. Archivos incluidos


Archivos de la biblioteca

FDxSDKPRO.jar -Fdx SDK para Java jar jnifsgplib.dll -


Secugen biblioteca JNI. Contenedor para
sgfplib.dll Absolutelayout.jar - NetBeans 4.x ejecución
diseño de giro

Muestra archivos de programa

Extract_samples.bat - Extractos código fuente de


ejemplo build_samples.bat - Crea aplicaciones de
ejemplo run_JSGD.bat: ejecuta la aplicación de
ejemplo JSGD
Run_jsgfplibtest.bat: ejecuta la aplicación de ejemplo JFPLibTest
Run_jsgmultidevicetest.bat: ejecuta la aplicación de ejemplo JSGMultiDeviceTest

Applet muestra archivos firmados

Applet/ - Directorio que contiene subprograma firmado


demo genkey.bat - Crea el certificado y par de
claves buildsignedapplet.bat - Crea archivo jar
firmado exportcert.bat - certificados de
exportación JSGDAppletDemo.html - archivo Html para
cargar applet firmada

Documentación

Readme.txt - información de la versión más reciente de Pro Fdx


SDK para Java doc/ - Directorio que contiene JavaDoc de Fdx
SDK Pro Fdx SDK para Java Pro Manual de Programación
(Java) .pdf - Este documento

2.3. Distribución en tiempo de ejecución


Por favor, siga las instrucciones de distribución Fdx SDK Pro para Windows. Además, copie el Fdx SDK Pro para
Archivos de tiempo de ejecución Java de la siguiente manera:

Windows 7 32 bits: Copia jnifplib\win32 \jnisgfplib.dll en C: \windows\system32

Windows 7 64 bits: Copia jnifplib\win32 \jnisgfplib.dll en C: \Windows\syswow64


Copia jnifplib\x64 \jnisgfplib.dll en C: \Windows\system32

9
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

El Capítulo 3. Programación en
Java
Secugen Fdx SDK de Pro se ha diseñado para facilitar el aprendizaje y la mayor flexibilidad a los
desarrolladores. Todos SDK las funciones están integradas en el JSGFPLib clase. La JSGFPLib clase incluye
inicialización del dispositivo, captura de huellas digitales y minucias Extracción y funciones de coincidencia.

3.1. Crear JSGFPLib


Para utilizar JSGFPLib, llamada JSGFPLib (), que crea una instancia de
un objeto JSGFPLib.

JSGFPLib sgfplib = new JSGFPLib ((UsbManager) getSystemService (Context.USB_SERVICE));

3.2. Inicializar
JSGFPLib
Después de que el objeto se crea JSGFPLib, se debe inicializar mediante JSGFPLib, Init () o JSGFPLib.InitEx
(). JSGFPLib.Init () toma el nombre del dispositivo, el controlador se carga que corresponde al nombre del dispositivo
e inicializa el algoritmo de huellas dactilares módulo basado en información del dispositivo. JSGFPLib.InitEx ()
toma imagen ancho, altura de la imagen y la resolución como parámetros. Llamada JSGFPLib.InitEx () cuando se
usa el algoritmo de huellas digitales sin un módulo lector Secugen.

El cuadro que figura a continuación se resume la correlación entre nombre del dispositivo (tipo de dispositivo), cargar
controladores de dispositivo y tamaño de la imagen inicial cuando el Init (JSGFPLibDeviceName devName) función
se llama.

Nombre del dispositivo, el controlador de


dispositivo y el tamaño de la imagen

Nombre del Valor Controlador de Tamaño de imagen


dispositivo Dispositivo (píxeles)
SGDEV_FDP02 1 Controlador de dispositivo 260 *
SGDEV_FDU02 3 paralelo
FDU02 controlador USB 300*
260
300
SGDEV_FDU03 4 USB FDU03 / SDU03 260 *
controlador 300
SGDEV_FDU04 5 FDU04 USB/SDU04 258 *
controlador 336
JSGFPLib.Init ()

Largo error = sgfplib.Init (SGFDxDeviceName.SG_DEV_AUTO);

JSGFPLib.InitEx ()

DWORD image_width = 260;


image_height DWORD = 300;
DOWRD image_dpi = 500;
Largo error = JSGFPLib.InitEx (image_width, image_height, image_dpi);
10
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.3. Terminar JSGFPLib


JSGFPLib.Close () debe ser llamada antes de terminar la aplicación. Además, libera la memoria usada por el
objeto JSGFPLib.

Largo error = JSGFPLib.Close ();

3.4. Abra el Secugen Lector de huellas


digitales
Para utilizar un lector de huellas dactilares Secugen, llamada JSGFPLib.OpenDevice (). El parámetro (devId) de
JSGFPLib.OpenDevice () puede tener diferentes significados dependiendo del tipo de lector de huellas
digitales.

Si sólo un lector de huellas digitales USB esté conectado al PC, devId será 0. Si hay varios lectores de huellas
digitales USB están conectados a un PC, devId puede variar de 0 a 9. El número máximo de Secugen lectores USB
que se puede conectar a una PC es de 10.

En general, si sólo un lector USB esté conectado al PC, a continuación, se recomienda


USB_AUTO_DETECT.

Largo error = sgfplib.OpenDevice (USB_AUTO_DETECT);

3.5. Obtener información


del dispositivo
Información del dispositivo se pueden recuperar llamando JSGFPLib.GetDeviceInfo (), que obtiene información
necesaria del dispositivo, tales como altura de la imagen y el ancho. La información del dispositivo se encuentra en
la estructura SGDeviceInfoParam.

SGDeviceInfoParam device_info;
Error = JSGFPLib.GetDeviceInfo (device_info);

Si (error == SGFDxErrorCode.SGSGFDX_ERROR_NONE)
{
M_imgwidth = device_info.ImageWidth;
M_imgheight = device_info.ImageHeight;
}

11
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.6. Capturar una imagen de la


huella
Después de que el lector se inicializa, una imagen de la huella puede ser capturada. La SGFPM objeto
proporciona tres tipos de huella digital image capture las funciones que figuran a continuación. Capturar las huellas
dactilares son 256 imágenes de color gris, y anchura de la imagen y se puede recuperar
altura llamando SGFPM_GetDeviceInfo () .El búfer de imagen debe ser asignada por la aplicación que realiza la
llamada.

JSGFPLib.GetImage () captura una imagen sin control de la presencia de un dedo o comprobación de la


calidad de las imágenes.

JSGFPLib.GetImageEx () capta las imágenes de las huellas digitales continuamente, se comprueba la calidad de la
imagen de un determinado valor de calidad y no tiene en cuenta la imagen que no contenga una huella digital o si la
calidad de la huella dactilar no es aceptable. Si a la calidad de la imagen es capturada en el tiempo establecido (el
segundo parámetro), JSGFPLib.GetImageEx () termina su proceso. Si un identificador de ventana es
proporcionada por la aplicación, los pilotos se dibujar una imagen de la huella en el
Siempre ventana usando el valor del
identificador.

 JSGFPLib.GetImage()
[Ejemplo]
Byte[] buffer = new byte[m_ImageWidth * m_ImageHeight];
Si (JSGFPLib.GetImage(buffer) == SGFDxErrorCode.SGSGFDX_ERROR_NONE) // Obtener Los
Desde el dispositivo imagen dato
s
{
// Imagen de pantalla
// Imagen del Proceso
}

JSGFPLib.GetImageEx
()
[Ejemplo]
Byte [] buffer = new byte [m_ImageWidth * m_ImageHeight];
Largo tiempo de espera = 10000;
Largo calidad = 80;
If (JSGFPLib.GetImageEx (buffer, tiempo de espera, null, calidad) ==
SGFDxErrorCode.SGFDX_ERROR_NONE)
{
// Imagen de pantalla
}

3.7. Obtenga calidad de imagen


Para determinar la imagen de la huella calidad, uso GetImageQuality ().

JSGFPLib.GetImageQuality
()

Int [] img_qlty;
JSGFPLib.GetImageQuality (ImageWidth, m_ImageHeight, fp_image, mg_qlty);
Si (img_qlty [0] < 80)
// Capturar nuevamente
12
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.8. Uso de Smart Capture™ o controlar el brillo


manualmente
En función del lector de huellas dactilares, factores ambientales y las características del sistema anfitrión, el brillo de
una imagen de la huella puede variar. La Secugen controladores de dispositivo utilizan una tecnología
llamada Smart Capture™ brillo para ajustar dinámicamente para asegurar la mejor calidad de imagen. Smart
Capture está habilitada de forma predeterminada.

Control manual de la calidad de la imagen capturada, el brillo de la imagen debe ser ajustado por cambiar el ajuste del brillo del lector usando JSGFPLib.
.SetBrightness (). Esta función es ignorada, si se activa la captura inteligente.

JSGFPLib. SetBrightness ().


JSGFPLib.aparato (70); // Set de 0 a 100.

3.9. Crear una


plantilla
Para registrar o verificar una huella, una imagen de la huella es capturada y, a continuación, datos de la función (minucias) se extrae de la imagen en una
plantilla. Característicos son los únicos puntos centrales cerca del centro de cada huella digital, como las cordilleras,
finales de cresta, bifurcaciones, valles y verticilos.

Utilice JSGFPLib.CreateTemplate () para extraer puntos característicos de una imagen de la huella para formar
una plantilla. El búfer debe ser asignado por la aplicación. Para obtener el tamaño de almacenamiento intermedio
de las minucias, llamada JSGFPLib.GetMaxTemplateSize (). Se le devolverá el tamaño máximo del búfer de datos
en una plantilla. El tamaño de la plantilla puede ser obtenido llamando JSGFPLib.GetTemplateSize () después se
crea la plantilla. La JSGFPLib.CreateTemplate () API sólo crea un conjunto de datos de una imagen.

Nota: Las plantillas de la norma ANSI 378 o ISO19794-2 formato podrán


fusionarse.

JSGFPLib.CreateTemplate ()

// Obtener una imagen de la huella


Err = JSGFPLib.GetImage (m_ImgBuf);

// Crear plantilla de imagen capturada


Err = JSGFPLib.GetMaxTemplateSize (maxTemplateSize);
Minbuffer byte [] = new byte [maxTemplateSize [0];

// Establecer información sobre plantilla


SGFingerInfo finger_info;
Finger_info.FingerNumber = SGFingerPosition.SG_FINGPOS_LI;
finger_info.ImageQuality = cualitativa [0];
finger_info.ImpressionType = SG_IMPTYPE_LP;
finger_info.ViewNumber = 1;

Err = JSGFPLib.CreateTemplate (finger_info, m_ImgBuf, minBuffer);

13
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.10. Coincidir con plantillas


Las plantillas son acompañados durante el registro y verificación de los procesos. Durante el proceso de registro, se recomienda
para capturar al menos dos muestras de imágenes por huella dactilar de un mayor grado de precisión. Las minucias
los datos de cada una de las imágenes muestra a continuación se puede comparar uno en contra de las otras (es
decir igualadas)) para confirmar la calidad de las huellas dactilares registradas. Esta comparación es análoga a una
rutina confirmación de la contraseña que normalmente se requiere para introducir una nueva contraseña.

Durante la verificación, recién entrada datos característicos se compara con los datos registrados minucias. Similar
al proceso de registro, verificación requiere la captura de una imagen de la huella con la consiguiente extracción de
las minucias de la imagen capturada en una plantilla.

Para que coincida con las plantillas, Fdx SDK Pro ofrece cuatro tipos de funciones de coincidencia. Cada función requiere dos
conjuntos de datos de la plantilla para la comparación.

JSGFPLib.MatchTemplate (): Esta función coincide con plantillas con el mismo formato como formato
predeterminado. Al llamar a esta función, cada plantilla debe incluir sólo una muestra (o ver) por plantilla. El formato
predeterminado es SG400 (Secugen formato propietario) pero puede ser cambiado
llamando JSGFPLib.SetTemplateFormat ().

JSGFPLib.MatchTemplateEx (): Esta función puede coincidir con plantillas plantilla con diferentes formatos. Esta
función también puede especificar el formato de la plantilla para cada plantilla y puede coincidir con las plantillas
que tienen varias vistas por plantilla.

JSGFPLib.MatchAnsiTemplate (): Esta función es la misma que JSGFPLib.MatchTemplateEx (), excepto en


que sólo es compatible con ANSI 378 plantillas.

JSGFPLib.MatchIsoTemplate (): Este bussines es el mismo que JSGFPLib.MatchTemplateEx (), excepto en


que sólo es compatible con ISO19794-2 plantillas.

Puede coincidir
Función Formato de la plantilla
con plantillas con
SGFPM_MatchTemplate SG400 (Sistema formatos
Nodiferentes?
predeterminado)
SGFPM_MatchTemplateEx Formato de la plantilla especificada Sí
SGFPM_MatchAnsiTemplate ANSI378 No
SGFPM_MatchIsoTemplate ISO19794-2 No

JSGFPLib.MatchTemplate ()
Byte [ ] RegTemplate1= new byte [maxTemplateSize [0];
Byte [ ] RegTemplate2= new byte [maxTemplateSize [0];
...
// Getfirst imagen de la huella y crear plantilla desde la
imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate1);

// Obtener una segunda imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImageEx (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate2);

Sl = largo SGFDxSecurityLevel.SL_NORMAL; // Establecer nivel de seguridad NORMAL


Boolean [] con = new boolean [1];
Err = JSGFPLib.MatchTemplate (m_ RegTemplate1, m_ RegTemplate2, sl, conciliado);
14
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

JSGFPLib.MatchTemplateEx
()
Byte [ ] RegTemplate1= new byte [maxTemplateSize [0];
Byte [ ] RegTemplate2= new byte [maxTemplateSize [0];
...
// Hacer SG400 plantilla
Err = JSGFPLib.SetTemplateFormat (SGFDxTemplateFormat.TEMPLATE_FORMAT_SG400);
Err = JSGFPLib.GetImage (m_ImgBuf, 5000, NULL, cualitativa);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate1);

// Hacer ANSI378 plantilla


Err = JSGFPLib.SetTemplateFormat (TEMPLATE_FORMAT_ANSI378);
Err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate2);

Sl = largo SGFDxSecurityLevel.SL_NORMAL; // Establecer nivel de seguridad NORMAL


Boolean [] con = new boolean [1];
Err = JSGFPLib.MatchTemplateEx (RegTemplate1,
SGFDxTemplateFormat TEMPLATE_FORMAT_SG400,
0, // debe ser 0 si formato de plantilla es SG400
RegTemplate2,
SGFDxTemplateFormat TEMPLATE_FORMAT_ANSI378,
0, // actualmente sólo una
muestra sl,
&Conciliad
o);

JSGFPLib.MatchAnsiTemplate
()
Long err.
Boolean [] con = new boolean [1];
Corresponde [0] = false;
SGANSITemplateInfo sample_info = new SGANSITemplateInfo ();
Err = JSGFPLib.GetAnsiTemplateInfo (m_EnrollTemplate, sample_info);

Finger_found boolean = false;


(Int i = 0; i < sample_info.TotalSamples; i++)
{
If (sample_info.SampleInfo[i] .FingerNumber == finger_pos) // intentar hacer coincidir en el mismo
dedo
{
Finger_found = true;
Err = JSGFPLib.MatchAnsiTemplate
(m_EnrollTemplate, i,
M_fetbufm,
0,
SGFDxSecurityLevel.SL_NORMAL
conciliado);
Si
(coincidenci
a)
Romper
.
}
}
15
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

JSGFPLib.MatchIsoTemplate
()

Long err.
Boolean [] con = new boolean [1];
Corresponde [0] = false;

// ISO19794-2
SGISOTemplateInfo sample_info = new SGISOTemplateInfo ();
Err = JSGFPLib.GetIsoTemplateInfo (m_StoredTemplate, sample_info);

Int found_finger = -1;


(Int i = 0; i < sample_info.TotalSamples; i++)
{
// ISO19794-2
Err = JSGFPLib.MatchIsoTemplate (m_StoredTemplate,
I,
m_FetBufM,
0,
SGFDxSecurityLevel.SL_NORMAL,
conciliado);
Si (coincidencia)
{
Found_finger = sample_info.SampleInfo[i] .FingerNumber;
Romper.
}
}

16
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.11. Registrar una huella


digital
Para registrar una huella digital, una imagen de la huella es la primera captura, y, a continuación, los datos de (puntos característicos) se extraen de la imagen
para crear una plantilla. Se recomienda para capturar al menos dos muestras de imágenes por huella dactilar de un mayor grado de precisión. Las minucias
los datos de cada una de las imágenes pueden ser luego comparadas con los demás (es decir igualadas) para confirmar la calidad de las huellas
dactilares registradas. Esta comparación de dos de las huellas digitales es análoga a una confirmación de la
contraseña habitual que normalmente se requiere para introducir una nueva contraseña.

Proceso de registro de huella


dactilar

1. Captura imágenes de huellas dactilares: JSGFPLib.GetImage ()


2. Extraer puntos característicos de cada imagen de la huella capturada para crear una plantilla: JSGFPLib.CreateTemplate ()
3. Cada plantilla para determinar si son aceptables para el registro: JSGFPLib.MatchTemplate ()
4. Guardar las plantillas en un archivo o base de datos para completar el registro

Ejemplo: Utilizando dos imágenes de huellas dactilares para


registrar una huella dactilar

Err = JSGFPLib.GetMaxTemplateSize (m_MaxTemplateSize);


byte [] m_RegTemplate1 = new byte [MaxTemplateSize
[0]]; BYTE * m_RegTemplate2 = new byte [MaxTemplateSize
[0];

// Obtener la primera imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate1);

// Obtener una segunda imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_RegTemplate2);

Sl = DWORD SGFDxSecurityLevel.SL_NORMAL; // Establecer nivel de


seguridad NORMAL Boolean [] = new Boolean coincidentes [1];
Err = JSGFPLib.MatchTemplate (m_RegTemplate1, m_RegTemplate2, sl, conciliado);

Si (coincidencia)
// Guardar estas plantillas en algún lugar

17
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.12. Verificar la huella digital


El proceso de verificación de huella dactilar recién entrada trata de adaptar los datos característicos datos contra
puntos característicos. Similar al proceso de registro, verificación requiere la captura de una imagen de la huella
con la consiguiente extracción de las minucias de la imagen capturada y la creación de una plantilla.

Proceso de Verificación de
huellas digitales

1. Capturar imagen de la huella: JSGFPLib.GetImage ()


2. Extrae minutia datos de imagen capturada para crear una plantilla: JSGFPLib.CreateTemplate ()
3. Recién hecho con plantilla contra registrado(s): JSGFPLib.MatchTemplate ()

- Ajustar el nivel de seguridad según el tipo de aplicación. Por ejemplo, si las huellas digitales sólo
se utilizan la autenticación, establezca el nivel de seguridad más alto que SL_NORMAL a fin de
reducir las posibilidades de falsa aceptación (FAR).

Ejemplo: Introducir datos característicos se hace coincidir con dos puntos


característicos muestras de datos registrados

DWORD err.
Err = JSGFPLib.GetMaxTemplateSize (m_hFPM,
&m_MaxTemplateSize);
Byte [] VrfTemplate m_1= new byte
[m_MaxTemplateSize];

// Obtener la primera imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf, m_
VrfTemplate1);

Sl = DWORD SGFDxSecurityLevel.SL_NORMAL; // Establecer nivel de seguridad en función de


la aplicación. Boolean [] juego1 = new boolean [1];
Boolean [] juego2 = new boolean [1];
Err = JSGFPLib.MatchTemplate (m_RegTemplate1, m_ VrfTemplate1, sl, con1);
Err = JSGFPLib.MatchTemplate (m_RegTemplate2, m_ VrfTemplate1, sl, con2);

Si (err == SGFDxErrorCode.SGSGFDX_ERROR_NONE)
{
Si (coincidencia1 && acompañado2)
// Coincide
Otra cosa
// No coinciden
}

18
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.13. Obtener puntaje


correspondiente
Para un mejor control de calidad durante el registro o proceso de verificación, un puntaje correspondiente se puede
utilizar en lugar de un nivel de seguridad para determinar el éxito de la operación. La puntuación puede ser
especificado para que sólo conjuntos de puntos característicos los datos que superan la puntuación será
aceptado; datos que se presentan a continuación la puntuación será rechazada. La puntuación puede tener un valor
de 0 a 199. JSGFPLib.GetMatchingScore () requiere dos conjuntos de puntos característicos datos del mismo
formato de la plantilla. JSGFPLib.GetMatchingScoreEx () requiere dos conjuntos de datos característicos, pero
pueden tener diferentes formatos de plantilla.

Int [] resultado = new int [1];


Si (JSGFPLib.GetMatchingScore (m_RegTemplate1, m_RegTemplate2,
puntuación) == SGFDXErrorCode.SGFDX_ERROR_NONE)
{
Si (> 100)
Estas huellas digitales // inscripción a
la base de datos más
// Vuelva a intentarlo
}

Para comprender cómo el puntaje se correlaciona con los niveles de seguridad típicas, consulte la siguiente tabla.

Nivel de seguridad vs. Correspondiente puntuación

Constante Valor Puntuación correspondiente


SL_NONE 0 0
SL_LOWEST 1 30
SL_LOWER 2 50
SL_LOW 3 60
SL_BELOW_NORMAL 4 70
SL_NORMAL 5 80
SL_ABOVE_NORMAL 6 90
SL_HIGH 7 100
SL_HIGHER 8 120
SL_HIGHEST 9 140

Nota: a partir de la versión 3,53 de Fdx SDK Pro para Windows, el puntaje correspondiente han cambiado.

19
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.14. Formato de la plantilla


El Fdx SDK Pro admite tres tipos de plantillas de huellas
digitales formatos:
 "SG400")
ANSI INCITS 378-2004 "Dedo minucias Formato para el Intercambio de Datos" ("ANSI378”)
ISO/IEC 19794-2:2005 "Datos biométricos formatos de intercambio -- Dedo Datos característicos" ("ISO19794-2)

De manera predeterminada, crea Secugen propiedad JSGFPLib plantillas (TEMPLATE_FORMAT_SG400). Para


cambiar el formato de la plantilla, utilice JSGFPLib.SetTemplateFormat ().

SG400 plantillas están cifrados de alta seguridad y tienen un tamaño de 400 bytes. ANSI378 plantillas no están
cifrados y su tamaño es variable, dependiendo de cuántos dedos están registrados en la estructura y cómo muchos
puntos característicos se encuentran.

Fo más información acerca de la norma ANSI378 plantilla, consulte el estándar del documento titulado "tecnología
de la Información - Dedo minucias Formato para el Intercambio de Datos", número de documento ANSI INCITS
378-2004, disponible en el sitio web ANSI http://webstore.ansi.org.

Para obtener más información acerca de la norma ISO19794-2 plantilla, consulte el documento estándar titulado
"tecnología de la Información - Datos biométricos formatos de intercambio -- Parte 2: Dedo Datos característicos",
número de documento ISO/IEC 19794-2:2005, disponible en el sitio ISO bajo Subcomité JTC 1/SC 37
(biometría): http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38746.

Una vez que el formato de la plantilla, lo que afectará a la ejecución del módulo JSGFPLib.

Las siguientes API se ven afectados por JSGFPLib.SetTemplateFormat ():


- JSGFPLib.GetMaxTemplateSize ()
- JSGFPLib.CreateTemplate ()
- JSGFPLib.GetTemplateSize ()
- JSGFPLib.MatchTemplate ()
- JSGFPLib.GetMatchingScore ()

Las siguientes API sólo funciona cuando el formato de la plantilla es TEMPLATE_FORMAT_ANSI378:


- JSGFPLib.GetTemplateSizeAfterMerge ()
- JSGFPLib.MergeAnsiTemplate ()
- JSGFPLib.GetAnsiTemplateInfo ()
- JSGFPLib.MatchAnsiTemplate ()
- JSGFPLib.GetAnsiMatchingScore ()

Las siguientes API sólo funciona cuando el formato de la plantilla es TEMPLATE_FORMAT_ISO19794:


- JSGFPLib.GetIsoTemplateSizeAfterMerge ()
- JSGFPLib.MergeIsoTemplate ()
- JSGFPLib.GetIsoTemplateInfo ()
- JSGFPLib.MatchIsoTemplate ()
- JSGFPLib.GetIsoMatchingScore ()

Las siguientes API trabaja con cualquier formato


de la plantilla:
- JSGFPLib.MatchTemplateEx ()
- JSGFPLib.GetMatchingScoreEx ()

20
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java


JSGFPLib.SetTemplateFormat (SGFDxTemplateFormat
TEMPLATE_FORMAT_ANSI378);

Formato plantilla de SG400


JSGFPLib.SetTemplateFormat (SGFDxTemplateFormat
TEMPLATE_FORMAT_SG400);

 formato ISO19794


JSGFPLib.SetTemplateFormat (SGFDxTemplateFormat
TEMPLATE_FORMAT_ISO19794);

3.15. Manipular ANSI378 Plantillas


La norma ANSI378 formato de plantilla permite que varios dedos de las manos y dedos múltiples vistas por que se
almacena en una plantilla. Para dar soporte a esta función, Fdx SDK Pro proporciona las siguientes APIs especiales:

- JSGFPLib.GetTemplateSizeAfterMerge ()
- JSGFPLib.MergeAnsiTemplate ()
- JSGFPLib.GetAnsiTemplateInfo ()
- JSGFPLib.MatchAnsiTemplate ()
- JSGFPLib.GetAnsiMatchingScore ()


Después de crear una norma ANSI378 plantilla a partir de una imagen de la huella, ANSI378 plantillas
adicionales pueden ser fusionadas en una plantilla. Para hacer esto,
utilice JSGFPLib.MergeAnsiTemplate (), que toma dos ANSI378 plantillas y las combina en una plantilla.
El tamaño de la plantilla fusionada será menor que la suma de los tamaños de todas las plantillas de
entrada. Llamada JSGFPLib.GetTemplateSizeAfterMerge () para obtener el tamaño de la plantilla de la
plantilla fusionada antes de utilizar JSGFPLib.MergeAnsiTemplate ().

Err = JSGFPLib.GetMaxTemplateSize (m_hFPM,


&m_MaxTemplateSize);
Byte [] m_Template1 = new byte
[m_MaxTemplateSize];
Byte [] m_Template2 = new byte
[m_MaxTemplateSize];

// Obtener la primera imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf,
m_Template1);

// Obtener una segunda imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf,
m_Template2);

// Guardar la plantilla después de combinar dos plantillas -


m_Template1, m_Template2 buf_size int [] = new int [1];
Err = JSGFPLib.GetTemplateSizeAfterMerge (m_Template1, m_Template2,
buf_size);
Merged_template byte [] = new byte [buf_size
[0];
Err = JSGFPLib.MergeAnsiTemplate (m_Template1, m_Template2,
merged_template);
21
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

Obtener información sobre un ANSI378 plantilla


La norma ANSI378 formato de plantilla permite que varios dedos de las manos y dedos múltiples vistas por
que se almacena en una plantilla. Para que coincida con una muestra (ver) contra una muestra en otra
plantilla, información sobre la plantilla puede ser necesaria. Para obtener información de la muestra sobre una
plantilla, utilice JSGFPLib.GetAnsiTemplateInfo ().

Long err.
Int matched_samples = 0;

SGANSITemplateInfo sample_info1 = new SGANSITemplateInfo;


SGANSITemplateInfo sample_info2 = new SGANSITemplateInfo;
Err = JSGFPLib.GetAnsiTemplateInfo (g_EnrollData,
sample_info1);
Err = JSGFPLib.GetAnsiTemplateInfo (g_VrfData,
sample_info2);

(Int i = 0; i < sample_info1.TotalSamples; i++)


{
(Int j = 0; j < sample_info2.TotalSamples; j++)
{
Boolean [] con = new Boolean [1];
Err = JSGFPLib.MatchAnsiTemplate (g_EnrollData, i, g_VrfData, 0, sl, conciliado);
Si (coincidencia [0])
Matched_samples++;
}
}

Si (err == SGFDxErrorCode.SGFDX_ERROR_NONE)
{
Si (matched_samples > 0)
System.out.writeln (“" + matched_samples + "muestras pareadas" );
Otra cosa
System.out.writeln (“No se puede encontrar coincidencias muestra”);
}
Otra cosa
System.out.writeln (“MatchTemplate () ha fallado. Error = " + err);

22
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

3.16. Plantillas manipular ISO19794-2


La ISO19794-2 formato de plantilla permite que varios dedos de las manos y dedos por varias vistas para ser
almacenados en una plantilla. Para dar soporte a esta función, Fdx SDK Pro proporciona las siguientes APIs
especiales:

- JSGFPLib.GetIsoTemplateSizeAfterMerge ()
- JSGFPLib.MergeIsoTemplate ()
- JSGFPLib.GetIsoTemplateInfo ()
- JSGFPLib.MatchIsoTemplate ()
- JSGFPLib.GetIsoMatchingScore ()

Fusionar dos plantillas ISO19794-2


Después de crear una ISO19794-2 plantilla a partir de una imagen de la huella, ISO19794-2 plantillas
adicionales pueden ser fusionadas en una plantilla. Para ello, utilice JSGFPLib.MergeIsoTemplate (), que
lleva dos plantillas ISO19794-2 y las combina en una plantilla. El tamaño de la plantilla fusionada será
menor que la suma de los tamaños de todas las plantillas de entrada.
Llamada JSGFPLib.GetIsoTemplateSizeAfterMerge () para obtener el tamaño de la plantilla de la plantilla
fusionada antes de utilizar JSGFPLib.MergeIsoTemplate ().

Err = JSGFPLib.GetMaxTemplateSize (m_hFPM,


&m_MaxTemplateSize);
Byte [] m_Template1 = new byte
[m_MaxTemplateSize];
Byte [] m_Template2 = new byte
[m_MaxTemplateSize];

// Obtener la primera imagen de la huella y crear plantilla desde


la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf,
m_Template1);

// Obtener una segunda imagen de la huella y crear plantilla


desde la imagen err = JSGFPLib.GetImage (m_ImgBuf);
Err = JSGFPLib.CreateTemplate (null, m_ImgBuf,
m_Template2);

// Guardar la plantilla después de combinar dos plantillas -


m_Template1, m_Template2 buf_size int [] = new int [1];
Err = JSGFPLib.GetTemplateSizeAfterMerge (m_Template1, m_Template2,
buf_size);
Merged_template byte [] = new byte [buf_size
[0];
Err = JSGFPLib.MergeIsoTemplate (m_Template1, m_Template2,
merged_template);

Obtener información sobre una plantilla ISO19794-2


La ISO19794-2 formato de plantilla permite que varios dedos de las manos y dedos por varias vistas para ser
almacenados en una plantilla. Para que coincida con una muestra (ver) contra una muestra en otra plantilla,
información sobre la plantilla puede ser necesaria. Para obtener información de la muestra sobre una
plantilla, utilice JSGFPLib.GetIsoTemplateInfo ().

DWORD err.
BOOL coincidir =
FALSE;
23
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java
// ISO19794-2
SGISOTemplateInfo sample_info = {0};
Err = JSGFPLib.GetIsoTemplateInfo (m_hFPM, m_StoredTemplate,
&sample_info);

Coincidir =
FALSE;
Int found_finger = -1;
(Int i = 0; i < sample_info.TotalSamples; i++)
{
// ISO19794-2
Err = JSGFPLib.MatchIsoTemplate (m_hFPM, m_StoredTemplate, i, m_FetBufM, 0, SL_NORMAL,
&Conciliad
o);

24
FDx SDK Pro Programming Manual - Java Chapter 3. Programming in Java

Si (coincidencia)
{
Found_finger = sample_info.SampleInfo[i] .FingerNumber;
Romper.
}
}

Si (err == SGFDX_ERROR_NONE)
{
Si (found_finger > = 0)
M_resultedit.Format (“Los datos de la huella dactilar. Posición de los
dedos: %s",
G_fingerposstr
[found_finger]);
Otra cosa
M_resultedit.Format (“No se puede encontrar con datos de huella dactilar”);
}
Otra cosa
{
M_resultedit.Format (“MatchIsoTemplate failed. Error = %d", err);
}

3.17. Obtener información sobre la versión del MINEX algoritmos compatibles


Para obtener información de la versión MINEXalgoritmos compatibles, utilice JSGFPLib.GetMinexVersion () .Actualmente, el número
de versión extractor es 0x 000A0035, buscador y el número de versión es 0x000A8035.

Extractor largo [] = new long


[1]; Long [ ] matcher = new
long [1];
Err = JSGFPLib.GetMinexVersion (extractor, matcher); System.out.println

(“(Extractor:" + extractor [0] + "Matcher:" + buscador);

25
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

El Capítulo 4. Referencia de la función JSGFPLib


4.1. Creación y terminación JSGFPLib
Público JSGFPLib ()
Crea una instancia del objeto JSGFPLib.

 Valores de retorno SGFDX_ERROR_NONE


SGFDX_ERROR_CREATION_FAILED = Sin error = Error al crear
una instancia objeto

Público largo Open ()


Secugen Se abre la biblioteca nativa.

Valores de retorno
SGFDX_ERROR_NONE = Sin error

Largo público Close ()


Cierra el Secugen biblioteca nativa.

Valores de
retorno
SGFDX_ERROR_NONE = Sin error

4.2. Inicialización
Mucho público Init (largo devName)
Inicializa JSGFPLib información con el nombre de dispositivo. El objeto JSGFPLib carga los controladores apropiados con el nombre
de dispositivo
(Devname) e inicializa huellas dactilares módulo algoritmo basado en la información del dispositivo.


Devname
Especifica el nombre de dispositivo
SG_DEV_FDU03: nombre de dispositivo USB FDU03 y SDU03-based
SG_DEV_FDU04 lectores: nombre de dispositivo USB de FDU04 y
SDU04-según los lectores SG_DEV_AUTO: determina
automáticamente el nombre de dispositivo

Valores de retorno
SGFDX_ERROR_NONE = Sin error
SGFDX_ERROR_CREATION_FAILED = Error al crear objeto JSGFPLib
SGFDX_ERROR_INVALID_PARAM = parámetro no válido utilizado
SGFDX_ERROR_DRVLOAD_FAILED = No se ha podido cargar el
controlador

Largo InitEx público (largo ancho, altura larga, larga ppp)


Inicializa JSGFPLib con información de la imagen. Utilizar cuando se ejecuta sin huellas dactilares módulo un
algoritmo Secugen lector.

Parámetros

26
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
Anch
o
Ancho de la imagen en píxeles.
Altura
Altura de la imagen en píxeles.

27
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Ppp
Resolución de la imagen en PPP
Valores de retorno
SGFDX_ERROR_NONE = Sin error
SGFDX_ERROR_CREATION_FAILED = Error al crear objeto JSGFPLib
SGFDX_ERROR_INVALID_PARAM = parámetro no válido utilizado
SGFDX_ERROR_DLLLOAD_FAILED = No se ha podido cargar el
algoritmo DLL

Mucho público SetTemplateFormat (formato corto)


Formato de la plantilla fija. Formato predeterminado es Secugen formato propietario (TEMPLATE_FORMAT_SG400).


Formato
Especifica formato de plantilla
TEMPLATE_FORMAT_ANSI378: ANSI INCITS 378-2004
TEMPLATE_FORMAT_ISO19794 formato: ISO/IEC 19794-2:2005
TEMPLATE_FORMAT_SG400 formato: Secugen formato
propietario
Valores de retorno
SGFDX_ERROR_NONE = Sin error
SGFDX_ERROR_CREATION_FAILED = Error al crear objeto JSGFPLib
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal formato de plantilla

4.3. Dispositivo y funciones de captura


Mucho público EnumerateDevice (int [] ndevs, SGDeviceList [] devList)
Enumera actualmente conectado lector para el sistema.

Parámetros

Ndevs
El número de lectores USB conectado
Devlist
Buffer que contiene ID de dispositivo y número de serie del dispositivo.
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_FUNCTION_FAILED = función General fail error
SGFDX_ERROR_INVALID_PARAM = parámetro no válido
utilizado

OpenDevice largo público (largo devId)


Inicializa el lector de huellas digitales.


Devid
Especifica el ID de dispositivo USB para los lectores. El valor puede ser de 0 a 9. El número máximo admitido de lectores
conectados al mismo tiempo es de 10.
Valores de retorno
= Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_PARAM = parámetro no válido utilizado
SGFDX_ERROR_SYSLOAD_FAILED = No se ha
podido cargar archivos de sistema
SGFDX_ERROR_INITIALIZE_FAILED = Error al
inicializar SGFDX_ERROR_DEVICE_NOT_FOUND chip = no se ha
28
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
encontrado el dispositivo

29
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Mucho público
CloseDevice ()
Cierra el dispositivo. OpenDevice () debe ser llamada antes de que esta función se utiliza.


Valores de retorno
SGFDX_ERROR_NONE = Sin error

Mucho público GetDeviceInfo (SGDeviceInfoParam Info)


Obtiene información del dispositivo del conductor (antes de que el dispositivo inicialización)


Info
Una instancia SGDeviceInfoParam objeto.
Valores de retorno
SGFDX_ERROR_NONE = Sin error

Largo aparato público (int brillo)


Controla el brillo del sensor de la imagen. Esta función sólo funcionará si Smart Capture está desactivado.


Brillo
Se debe establecer en un valor de 0 a 100
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_PARAM = parámetro no válido
utilizado

Mucho público SetLedOn (boolean on)


Unidad óptica activa de
activación/desactivación de
LED.


En
Es cierto: Se enciende
el LED se apaga
Falso: LED
Valores de retorno
SGFDX_ERROR_NONE = Sin error

Mucho público GetImage (byte []


buffer)
Captura un nivel de gris 256 imágenes de la huella del lector. El tamaño de la imagen puede ser recuperada
por llamar GetDeviceInfo (). JSGFPLib.GetImage () no se comprueba para la calidad de la imagen. Para obtener
calidad de la imagen de una imagen capturada, utilice GetImageQuality ().


Búfer
Una matriz de bytes que contiene una imagen de la huella. El tamaño de la imagen puede ser recuperada
por llamar GetDeviceInfo ().

Valores de retorno
SGFDX_ERROR_NONE = Sin error
SGFDX_ERROR_WRONG_IMAGE = Capturar imagen no es una verdadera
imagen de la huella SGFDX_ERROR_INVALID_PARAM = parámetro no válido
utilizado SGFDX_ERROR_LINE_DROPPED = Imagen pérdida de datos
30
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Largo GetImageQuality público (largo ancho, altura larga, byte [] imgBuf, int []
calidad)
Obtiene la calidad de una captura (escaneado) imagen. El valor se determina por dos factores. Uno de ellos es la
relación entre la imagen de la huella de todo el área explorada, y la otra es la cresta calidad de la imagen de la
huella. Un valor de calidad de 50 o superior se recomienda para su registro. Un valor de calidad de 40 o superior se
recomienda para su verificación.

Parámetros

Anch
o
Ancho de la imagen en píxeles.
Altura
Altura de la imagen en píxeles.
Imgbuf
Datos de imágenes de huellas digitales
Calida
d
El único elemento matriz que contiene calidad de imagen
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_PARAM = parámetro no válido
utilizado

Largo GetImageEx Público (byte [] buffer, largo tiempo de espera, tiempo


dispWnd, largo calidad)
Captura imágenes de huellas dactilares del lector hasta que la calidad de la imagen es mayor que el valor
del parámetro de calidad. La huella es un nivel de gris 256 imágenes; tamaño de la imagen se pueden
recuperar SGFPM_GetDeviceInfo llamando a la función. Un valor de calidad de 50 o superior se recomienda para
su registro. Un valor de calidad de
40 O superior se recomienda para su
verificación.

Nota: El valor de la calidad es diferente del valor utilizado en SGFPM_GetImage (). El valor de calidad
GetImageEx () sólo representa la relación entre la imagen de la huella para toda la zona
explorada.

Parámetros

Búfer
Una matriz de bytes que contiene una imagen de la huella. El tamaño de la imagen puede ser recuperada
por llamar GetDeviceInfo ().
Tiempo de espera
El valor de tiempo de espera (en milisegundos) que se usa para especificar la cantidad de tiempo en el que
la función esperará que una huella dactilar válida para dar entrada en el lector de huellas digitales
Dispwnd
Null. No se usa en Java
Calidad
El mínimo valor de la calidad de la imagen, que se utiliza para determinar si se acepta la imagen capturada
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_PARAM = parámetro no válido
utilizado SGFDX_ERROR_LINE_DROPPED =
Imagen pérdida de datos
= No válido SGFDX_ERROR_TIME_OUT huella capturada en el tiempo

31
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

4.4. Las funciones de extracción


Mucho público GetMaxTemplateSize (int [] tamaño)
Obtiene el tamaño máximo de una plantilla de huella dactilar (vista o muestra). Utilice esta función antes de utilizar CreateTemplate ()
Para obtener un adecuado tamaño de búfer. Si el formato de la plantilla es SG400,

devuelve longitud fija tamaño 400. Nota: El tamaño de la plantilla es el tamaño máximo de una

vista o muestra.


Tamaño
El único elemento matriz para contener tamaño de la plantilla
Valores de retorno
SGFDX_ERROR_NONE = Sin error

Mucho público CreateTemplate (SGFingerInfo fpInfo, byte [] rawImage, byte [] minTemplate)


Los extractos minucias de una imagen de la huella para formar una plantilla con el formato predeterminado.

Parámetros

Fpinfo
Información sobre la huella dactilar almacenada en una plantilla. Para ANSI 378 plantillas, esta
información puede obtenerse a través de la plantilla utilizando GetAnsiTemplateInfo () .Para
ISO 19794 plantillas, esta información puede obtenerse a través de la plantilla
utilizando GetIsoTemplateInfo () .Para SG 400 plantillas, esta información no puede ser visto en la
plantilla.
Rawimg
Una matriz de bytes que contienen 256 Gris de datos imagen
de huellas dactilares
Mintemplate
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella

 Valores de retorno = Sin error SGFDX_ERROR_NONE


SGFDX_ERROR_FEAT_NUMBER = número inadecuado de
nimiedades
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de plantilla
SGFDX_ERROR_INVALID_TEMPLATE1 = 103 = Error durante la descodificación plantilla 1
SGFDX_ERROR_INVALID_TEMPLATE2 = 104 = Error durante la descodificación plantilla 2

Largo GetTemplateSize público (byte [] minTemplate, int [] tamaño)


Obtiene tamaño de la plantilla. Si el formato de la plantilla es SG400, se vuelve 400. Si el formato de la plantilla es
ANSI378 o ISO19794, tamaño de la plantilla puede variar.


Mintemplate
Una matriz de bytes que contiene puntos característicos los datos extraídos de una imagen de la huella
Tamaño
Una matriz de bytes que contiene tamaño de la plantilla
Valores de retorno
SGFDX_ERROR_NONE = Sin error

32
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

4.5. Funciones de coincidencia


Largo MatchTemplate público (byte [] minTemplate1, byte [] minTemplate2, largo secuLevel, Boolean []
coinciden) compara dos conjuntos de puntos característicos los datos del mismo formato de la plantilla. El formato
de la plantilla debe ser el mismo que el establecido por SetTemplateFormat () y debe incluir sólo una muestra. Para
que coincida con las plantillas que tienen más de una muestra, utilice MatchTemplateEx () o MatchAnsiTemplate
().

Devuelve TRUE o FALSE como resultado de coincidencia (con). Nivel de seguridad (secuLevel) afecta al resultado
de coincidencia. El nivel de seguridad se puede ajustar de acuerdo a la política de seguridad requerida por el
usuario o la organización.


Mintemplate1
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella
Mintempate2
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella
Seculevel
Un nivel de seguridad especificados en "SGFDxSecurityLevel" por uno de los siguientes nueve niveles
de seguridad: SL_LOWEST, SL_LOWER, SL_LOW, SL_BELOW_NORMAL, SL_NORMAL,
SL_ABOVE_NORMAL, SL_HIGH, SL_HIGHER y SL_HIGHEST. SL_NORMAL se recomienda en caso
normal.
Conciliado
Una matriz de bytes que contiene resultado de coincidencia. Si pasa las plantillas las plantillas son
coincidentes, se devuelve TRUE. Si no es así, se devuelve FALSE.
Valores de
retorno
= Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Largo MatchTemplateEx público (byte [] minTemplate1 tempateType1, corto, largo sampleNum1, byte []
Mintemplate2 tempateType2, corto, largo, largo secuLevel sampleNum2, boolean []
coincidentes)
Compara dos conjuntos de puntos característicos datos, los cuales pueden ser de diferentes formatos de plantilla
(SG400 o ANSI378). Devuelve TRUE o FALSE como resultado de coincidencia (con). Nivel de
seguridad (secuLevel) afecta al resultado de coincidencia. El nivel de seguridad se puede ajustar de acuerdo a la
política de seguridad requerida por el usuario o la organización.


Mintemplate1
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella
Templatetype1
Especifica formato de minTemplate1. Debe ser TEMPLATE_FORMAT_SG400 o
TEMPLATE_FORMAT_ANSI378.
Samplenum1
Posición de la muestra que debe coincidir en minTemplate1. Si templateType1
TEMPLATE_FORMAT_ANSI378, puede tener un valor de 0 a (número de muestras -1) en minTemplate1.
Si templateType1 es TEMPLATE_FORMAT_SG400, este valor es ignorado.
33
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
Mintemplate2
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella
Templatetype2
Especifica formato de minTemplate2. Debe ser TEMPLATE_FORMAT_SG400 o
TEMPLATE_FORMAT_ANSI378.
Samplenum2
Posición de la muestra que debe coincidir en minTemplate2. Si templateType2
TEMPLATE_FORMAT_ANSI378, puede tener un valor de 0 a (número de muestras -1) en
minTemplate2. Si templateType2 es

34
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

TEMPLATE_FORMAT_SG400, este valor es


ignorado.
Seculevel
Un nivel de seguridad especificados en "fplibnew.h" por uno de los siguientes nueve niveles de seguridad:
SL_LOWEST, SL_LOWER, SL_LOW, SL_BELOW_NORMAL, SL_NORMAL, SL_ABOVE_NORMAL,
SL_HIGH, SL_HIGHER y SL_HIGHEST. SL_NORMAL se recomienda en caso normal.
Conciliado
VERDADERO: la
misma plantilla
FALSO: No es la
misma plantilla
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Mucho público JSGFPLib.GetMatchingScore (byte [] minTemplate1, byte [] minTemplate2, int []


puntuación)
Obtiene con puntuación de dos conjuntos de puntos característicos los datos del mismo formato de la plantilla.

Parámetros

Mintemplate1
Un puntero al buffer que contiene puntos característicos los datos extraídos de una imagen de la huella
Mintemplate2
Un puntero al buffer que contiene puntos característicos los datos extraídos de una imagen de la huella
Puntuación
Puntuación correspondiente. Puntuación ha devuelto un valor de 0 a 199.
 Valores devueltos SGFDX_ERROR_NONE = Sin error
SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Largo GetMatchingScoreEx público (byte [] minTemplate1 tempateType1, corto, largo sampleNum1, byte []
Mintemplate2 tempateType2, corto, largo sampleNum2, int [] puntuación);
Obtiene puntuación correspondiente de los dos conjuntos de puntos característicos datos, los cuales pueden ser de diferentes
formatos de plantilla (SG400 o ANSI378).

Parámetros

Mintemplate1
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella

Templatetype1
Especifica formato de minTemplate1. Debe ser TEMPLATE_FORMAT_SG400 o
TEMPLATE_FORMAT_ANSI378.

Samplenum1
Posición de la muestra que debe coincidir en minTemplate1. Si templateType1
TEMPLATE_FORMAT_ANSI378, puede tener un valor de 0 a (número de muestras -1) en minTemplate1.
Si templateType1 es TEMPLATE_FORMAT_SG400, este valor es ignorado.
Mintemplate2
Una matriz de bytes que contiene puntos característicos los datos
extraídos de una imagen de la huella
Templatetype2
35
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
Especifica formato de minTemplate2. Debe ser TEMPLATE_FORMAT_SG400 o
TEMPLATE_FORMAT_ANSI378.
Samplenum2
Posición de la muestra que debe coincidir en minTemplate2. Si templateType2
TEMPLATE_FORMAT_ANSI378, puede tener un valor de 0 a (número de muestras -1) en minTemplate2.
Si templateType2 es TEMPLATE_FORMAT_SG400, este valor es ignorado.
Puntuación

36
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Puntuación correspondiente. Puntuación ha devuelto un valor de 0 a 199.


 Valores devueltos SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Sin error = tipo de
plantilla incorrecta SGFDX_ERROR_INVALID_TEMPLATE1 = Error
en minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

4.6. Funciones de ANSI378 Plantillas


Largo GetTemplateSizeAfterMerge público (byte [] ansiTemplate1, byte [] ansiTemplate2, int [] tamaño)
Calcula tamaño de la plantilla si dos plantillas - ansiTemplate1 y ansiTemplate2 - se combinan. Esta función se utiliza
para determinar la causa exacta tamaño de búfer antes de utilizar MergeAnsiTemplate ().


Ansitemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Ansitempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Tamaño
Tamaño de la plantilla si se combinan dos plantillas
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Largo MergeAnsiTemplate público (byte [] ansiTemplate1, byte [] ansiTemplate2, byte []


outTemplate)
Combina dos ANSI378 plantillas y devuelve una nueva plantilla fusionada. La plantilla fusionada (outTemplate) tamaño
será de menos de suma de los tamaños de las dos plantillas de entrada (tamaño de ansiTemplate1 + tamaño de
ansiTemplate2). Llamada GetTemplateSizeAfterMerge () para determinar exactamente el tamaño de búfer
para outTemplate antes de llamar MergeAnsiTemplate ().


Ansitemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Asnitempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Outtempate
La matriz de bytes que contiene datos combinados. El búfer debe ser asignado por la aplicación. Para
determinar exactamente el tamaño del buffer, llamada JSGFPLib.GetTemplateSizeAfterMerge ().
Valores de retorno
= Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Largo GetAnsiTemplateInfo público (byte [] ansiTemplate, SGANSITemplateInfo templateInfo)


Obtiene información de un ANSI378 plantilla. Se llama a esta función antes MatchAnsiTemplate () para obtener
información sobre una plantilla.


Anisitemplate
37
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
ANSI378 plantilla

38
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Templateinfo
El objeto que contiene información de la plantilla. Para obtener más información,
consulte SGANSITemplateInfo estructura.
 Valores de retorno = Sin error
SGFDX_ERROR_NONE SGFDX_ERROR_INVALID_PARAM =
parámetro no válido utilizado
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de plantilla

Largo MatchAnsiTemplate público (byte [] ansiTemplate1 largo sampleNum1, byte [] ansiTemplate2


sampleNum2, largo, largo secuLevel, Boolean [] coincidentes)
Compara dos conjuntos de ANSI 378 plantillas. Devuelve TRUE o FALSE como resultado de coincidencia (con).
Nivel de seguridad (secuLevel) afecta al resultado de coincidencia. El nivel de seguridad se puede ajustar de
acuerdo a la política de seguridad requerida por el usuario o la organización.

Parámetros

Ansitemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener
más de una muestra.
Samplenum1
Posición de la muestra coincide en ansiTemplate1 .Puede ser desde 0 a (número de muestras -1)
Ansitemplate1
Ansitempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener
más de una muestra.
Samplenum2
Posición de la muestra coincide en ansiTemplate2 .Puede ser desde 0 a (número de muestras -1)
Ansitemplate2
Seculevel
Un nivel de seguridad tal como se especifica en SGFDxSecurityLevel por uno de los siguientes nueve
niveles de seguridad: SL_LOWEST, SL_LOWER, SL_LOW, SL_BELOW_NORMAL, SL_NORMAL,
SL_ABOVE_NORMAL, SL_HIGH, SL_HIGHER y SL_HIGHEST. SL_NORMAL se recomienda en caso
normal.
Conciliado
VERDADERO: la
misma plantilla
FALSO: No es la
misma plantilla
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
ansiTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en ansiTemplate2

Largo GetAnsiMatchingScore público (byte [] ansiTemplate1 largo sampleNum1, byte [] ansiTemplate2 largo
sampleNum2, int [] puntuación)
Obtiene puntuación correspondiente.

Parámetros

Ansitemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Samplenum1
Posición de la muestra coincide en ansiTemplate1 .Puede ser desde 0 a (número de muestras -1)
Ansitemplate1
Ansitempate2

39
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Samplenum2
Posición de la muestra coincide en ansiTemplate2 .Puede ser desde 0 a (número de muestras -1)
Ansitemplate2
Puntuación
Puntuación correspondiente. Puntuación ha devuelto un valor de 0 a 199.

40
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

 Valores de retorno = Sin error SGFDX_ERROR_NONE


SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
ansiTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en ansiTemplate2

4.7. ISO19794-2 Funciones de plantillas


Largo GetIsoTemplateSizeAfterMerge público (byte [] isoTemplate1, byte [] isoTemplate2, int [] tamaño)
Calcula tamaño de la plantilla si dos plantillas - isoTemplate1 e isoTemplate2 - se combinan. Esta función se utiliza
para determinar la causa exacta tamaño de búfer antes de utilizar MergeIsoTemplate ().


Isotemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Isotempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Tamaño
Tamaño de la plantilla si se combinan dos plantillas
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

Largo MergeIsoTemplate público (byte [] isoTemplate1, byte [] isoTemplate2, byte []


outTemplate)
Combina dos ISO19794-2 plantillas y devuelve una nueva plantilla fusionada. La plantilla fusionada (outTemplate)
tamaño será de menos de suma de los tamaños de las dos plantillas de entrada (tamaño de isoTemplate1 + tamaño
de isoTemplate2). Llamada GetTIsoemplateSizeAfterMerge () para determinar exactamente el tamaño de búfer
para outTemplate antes de llamar MergeIsoTemplate ().


Isotemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Isotempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Outtempate
La matriz de bytes que contiene datos combinados. El búfer debe ser asignado por la aplicación. Para
determinar exactamente el tamaño del buffer, llamada GetIsoTemplateSizeAfterMerge ().

 Valores de retorno = Sin error SGFDX_ERROR_NONE


SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
minTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en minTemplate2

41
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Largo GetIsoTemplateInfo público (byte [] isoTemplate, SGISOTemplateInfo templateInfo)


Obtiene información de un ISO19794-2 plantilla. Se llama a esta función antes MatchIsoTemplate () para obtener
información sobre una plantilla.


Isotemplate
ISO19794-2 plantilla
Templateinfo
El objeto que contiene información de la plantilla. Para obtener más información, consulte SGISOTemplateInfo estructura.
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_PARAM = parámetro no válido utilizado
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de plantilla

Largo MatchIsoTemplate público (byte [] isoTemplate1 largo sampleNum1, byte [] isoTemplate2


sampleNum2, largo, largo secuLevel, boolean [] coincidentes)
Compara dos conjuntos de ISO19794-2 plantillas. Devuelve TRUE o FALSE como resultado de coincidencia (con).
Nivel de seguridad (secuLevel) afecta al resultado de coincidencia. El nivel de seguridad se puede ajustar de
acuerdo a la política de seguridad requerida por el usuario o la organización.

Parámetros

Isotemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener
más de una muestra.
Samplenum1
Posición de la muestra coincide en isoTemplate1 .Puede ser desde 0 a (número de muestras -1)
Isotemplate1
Isotempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener
más de una muestra.
Samplenum2
Posición de la muestra coincide en isoTemplate2 .Puede ser desde 0 a (número de muestras -1)
Isotemplate2
Seculevel
Un nivel de seguridad tal como se especifica en SGFDxSecurityLevel por uno de los siguientes nueve
niveles de seguridad: SL_LOWEST, SL_LOWER, SL_LOW, SL_BELOW_NORMAL, SL_NORMAL,
SL_ABOVE_NORMAL, SL_HIGH, SL_HIGHER y SL_HIGHEST. SL_NORMAL se recomienda en caso
normal.
Conciliado
VERDADERO: la
misma plantilla
FALSO: No es la misma
plantilla
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de
plantilla SGFDX_ERROR_INVALID_TEMPLATE1 = Error en
isoTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en isoTemplate2

42
FDx SDK Pro Programming Manual - Java Chapter 4.JSGFPLib Function Reference

Largo GetIsoMatchingScore público (byte [] isoTemplate1 largo sampleNum1, byte [] isoTemplate2 largo
sampleNum2, int [] puntuación)
Obtiene puntuación correspondiente.

Parámetros

Isotemplate1
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Samplenum1
Posición de la muestra coincide en isoTemplate1 .Puede ser desde 0 a (número de muestras -1)
Isotemplate1
Isotempate2
Una matriz de bytes que contiene datos característicos. Una plantilla puede tener más de una muestra.
Samplenum2
Posición de la muestra coincide en isoTemplate2 .Puede ser desde 0 a (número de muestras -1)
Isotemplate2
Puntuación
Puntuación correspondiente. Puntuación ha devuelto un valor de 0 a 199.
 Valores de retorno = Sin error SGFDX_ERROR_NONE
SGFDX_ERROR_INVALID_TEMPLATE_TYPE = Mal tipo de plantilla
SGFDX_ERROR_INVALID_TEMPLATE1 = Error en isoTemplate1
SGFDX_ERROR_INVALID_TEMPLATE2 = Error en isoTemplate2

4.8. Otros
Mucho público GetMinexVersion (long [] extractor, largo [] matcher)
Obtiene versión de MINEX compatible con los algoritmos utilizados en el presente.

Parámetros

Extractor
Versión compatible con extractor de MINEX (generador de plantillas)
Buscado
r
Compatible con versión de MINEX matcher (plantilla)
Valores de
retorno
SGFDX_ERROR_NONE = Sin error

43
FDx SDK Pro Programming Manual - Java Chapter 5. Class Reference

El Capítulo 5. Referencia de la clase


5.1. Documentación Java
Consulte el "doc" carpeta en esta versión del SDK de JavaDoc referencia de la clase completa.

44
FDx SDK Pro Programming Manual - Java Chapter 6. Constants

El Capítulo 6. Constantes
6.1. SGFDxDeviceName
Nombre del Valor Descripción
dispositivo
SG_DEV_UNKNOWN 0 No determinada
SG_DEV_FDU03 0X04 FDU03 o SDU03-basado reader
SG_DEV_FDU04 0X05 FDU04 o SDU04-basado reader
SG_DEV_AUTO 0Xff Detección automática

6.2. SGFDxSecurityLevel
Nivel de Valor Descripción
seguridad
SL_NONE 0 No hay
SL_LOWEST 1 seguridad
SL_LOWER 2 inferior más
SL_LOW 3 bajo
SL_BELOW_NORMAL 4 Baja
SL_NORMAL 5 Por debajo de lo normal
SL_ABOVE_NORMAL 6 Normal
SL_HIGH 7 Por encima de lo normal
SL_HIGHER 8 Alta
SL_HIGHEST 9 Superior
Más alta

6.3. SGFDxTemplateFormat
Formato de la plantilla Valor Descripción
TEMPLATE_FORMAT_ANSI378 0X0100 Formato ANSI INCITS 378-
TEMPLATE_FORMAT_SG400 0X0200 2004 Secugen formato de
TEMPLATE_FORMAT_ISO19794 0X0300 ISO/IEC 19794-2:2005
formato

6.4. SGImpressionType
Nivel de Valor Descripción
seguridad
SG_IMPTYPE_LP 0X00 Live-scan normal
SG_IMPTYPE_LR 0X01 vivir-scan
SG_IMPTYPE_NP 0X02 laminados No-scan
SG_IMPTYPE_NR 0X03 normal
No-laminados captura

45
FDx SDK Pro Programming Manual - Java Chapter 6. Constants

6.5. SGFingerPosition
Nivel de Valor Descripción
seguridad
SG_FINGPOS_UK 0X00 Dedo desconocido
SG_FINGPOS_RT 0X01 Pulgar derecho
SG_FINGPOS_RI 0X02 Dedo índice derecho
SG_FINGPOS_RM 0X03 dedo medio derecho
SG_FINGPOS_RR 0X04 dedo anular derecho
SG_FINGPOS_RL 0X05 dedo derecho pequeño
SG_FINGPOS_LT 0X06 dedo pulgar izquierdo
SG_FINGPOS_LI 0X07 Dedo índice izquierdo
SG_FINGPOS_LM 0X08 dedo izquierdo medio
SG_FINGPOS_LR 0X09 dedo anular izquierdo
SG_FINGPOS_LL 0X0A dedo meñique izquierdo

6.6. SGFDxErrorCode
Código de Valor Descripción
Error
Los Códigos de Error general
SGFDX_ERROR_NONE 0 No hay errores
SGFDX_ERROR_CREATION_FAILED 1 Error al crear el objeto JSGFPLib
SGFDX_ERROR_FUNCTION_FAILED 2 Fallo en la función de llamadas
SGFDX_ERROR_INVALID_PARAM 3 Parámetro no válido utilizado
SGFDX_ERROR_NOT_USED 4 No se usa función
SGFDX_ERROR_DLLLOAD_FAILED 5 Error al cargar DLL
SGFDX_ERROR_DLLLOAD_FAILED_DRV 6 Error al cargar controladores de dispositivo
SGFDX_ERROR_DLLLOAD_FAILED_ALGO 7 Error al cargar DLL algoritmo
Códigos de Error del controlador
de dispositivo
SGFDX_ERROR_SYSLOAD_FAILED 51 Puede encontrar Chip
SGFDX_ERROR_INITIALIZE_FAILED 52 controlador inicialización archivo
SGFDX_ERROR_LINE_DROPPED 53 sys Imagen no pierde datos
SGFDX_ERROR_TIME_OUT 54 GetImageEx() no se ha
SGFDX_ERROR_DEVICE_NOT_FOUND 55 encontrado el dispositivo de
SGFDX_ERROR_DRVLOAD_FAILED 56 tiempo de espera
SGFDX_ERROR_WRONG_IMAGE 57 Archivo de controlador ha fallado la carga
SGFDX_ERROR_LACK_OF_BANDWIDTH 58 Mala imagen
SGFDX_ERROR_DEV_ALREADY_OPEN 59 Falta de banda ancha USB
SGFDX_ERROR_GETSN_FAILED 60 Dispositivo ya está abierto
SGFDX_ERROR_UNSUPPORTED_DEV 61 Número de serie no existe
Dispositivo no compatible

Extracto correspondiente y los códigos


de error
SGFDX_ERROR_FEAT_NUMBER 101 Insuficiente número de puntos
SGFDX_ERROR_INVALID_TEMPLATE_TYPE 102 característicos
SGFDX_ERROR_INVALID_TEMPLATE1 103 Tipo de plantilla incorrecta
SGFDX_ERROR_INVALID_TEMPLATE2 104 Error de decodificación plantilla 1
SGFDX_ERROR_EXTRACT_FAIL 105 Error de decodificación plantilla 2
SGFDX_ERROR_MATCH_FAIL 106 Error durante la extracción
No coincidente

6.7. SGFDxConstant
DEV_SN_LEN 15 * número de serie del dispositivo.

46
FDx SDK Pro Programming Manual - Java Chapter 7. Sample Applications

El Capítulo 7. Aplicaciones de ejemplo


Después de instalar el hardware y el software, se recomienda que todos los componentes que se compruebe para
comprobar que están funcionando correctamente. Muestra que se incluyen aplicaciones se pueden utilizar para este
fin

7.1. JSGD - Hardware Programa de


prueba
Secugen El programa de utilidad de diagnóstico del dispositivo (JSGD.class) se encuentra en
el FDxSDK.jar archivo. Este programa escanea las imágenes de las huellas digitales y, además, realiza registro
de huellas dactilares y la verificación. Si este programa no logra captar una imagen de la huella, el sistema no está
configurado correctamente.

1. Abra un símbolo del sistema.

2. Cd < FDx_SDK_FOR_JAVA_INSTALL_DIR>

3. Tipo run_JSGD.bat y luego, Intro .El siguiente comando también se puede utilizar:

Java -cp " .AbsoluteLayout.jar; FDxSDKPro.jar" Secugen.FDxSDKPro.samples.JSGD

4. Haga clic en Iniciar para inicializar el lector. El resultado de la inicialización (éxito o fracaso) en la barra de
estado se mostrará en la parte inferior izquierda de la pantalla. Si la inicialización falla, compruebe la
conexión del dispositivo y repita los pasos anteriores.

47
FDx SDK Pro Programming Manual - Java Chapter 7. Sample Applications

48
FDx SDK Pro Programming Manual - Java Chapter 7. Sample Applications

Si la inicialización se realiza correctamente, coloque su dedo en el lector de huellas digitales, y haga clic en el botón
Capturar. La imagen de la huella se debe mostrar si el lector está funcionando correctamente.

7.2. Programa de prueba JFPLib


La JSGFPLibTest programa demuestra toda la funcionalidad incluida en Pro Fdx SDK para Java.

1. Abra un símbolo del sistema.

2. Cd < FDx_SDK_FOR_JAVA_INSTALL_DIR>

3. Tipo run_jsgfplibtest.bat y, a continuación, entrar.

49
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

El Capítulo 8. Subprograma Firmado y explorador


Web
Integración
8.1. Instalar el Fdx SDK Pro para Java Runtime Library
Windows 7 32 bits: Copia jnifplib\win32 \jnisgfplib.dll en C: \windows\system32

Windows 7 64 bits: Copia jnifplib\win32 \jnisgfplib.dll en C: \Windows\syswow64


Copia jnifplib\x64 \jnisgfplib.dll en C: \Windows\system32

8.2. Generar un Certificado Digital y el par de claves (GENKEY.BAT)


Keytool -genkey -alias demokey -keypass demopassword -keystore demokeystore -storepass
demopassword

8.3. Crear un archivo JAR firmado (BUILDSIGNEDAPPLET.BAT)


Del AppletDemo.jar
Jar xvf FDxSDKPro.jar
Jar xvf AbsoluteLayout.jar
Javac -depreciación applet\ * .java
Jar cvf AppletDemo SecuGen\FDxSDKPro\jni\.jar * .class * .class applet\
org\netbeans\lib\awtextra\ *. * Jarsigner -keystore demokeystore -storepass demopassword -keypass
demopassword AppletDemo.jar demokey

50
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

42
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

8.4. Exportar el certificado (EXPORTCERT.BAT)


Keytool -export -alias demokey -storepass demopassword -keystore demokeystore -archivo democert.csr

8.5. Importar el certificado en Java Plug-in

Lanzamiento del Java applet del Panel de Control y seleccione la ficha Seguridad.

43
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

Haga clic en el botón "Certificados" y, a continuación, haga clic en "Import".

44
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

Vaya a la DEMOCERT.CSR certificado exportado y haga clic en "Abrir".

El certificado se ha instalado en el JRE.

45
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

8.6. Abrir el Applet Demo Archivo HTML

JSGDAppletDemo.html

<Html>
<HEAD>
<TITLE>
Applet JSGD Demo
< /Title>
< /Head>
< /Body>
<Center>
<Applet
Código = "applet.JSGDApplet.class".
Name = " JSGDApplet"
archivo = "AppletDemo.jar"
width = " 550"
Height = " 550"
Hspace = "
0" vspace =
" 0"
Align = "media"
>
< /Applet>
< /Center>
< /Body>
< /HTML>

46
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

8.7. Navegador Internet Explorer

IE v9.0.8112 probado en Windows 7 de 32 bits


Probado IE v10.0.9200 en el Wind0ws 7 de 64 bits

47
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

8.8. Navegador Firefox

Probado FireFox v20.0.1 en Windows 7 de 32 bits


Probado en Firefox v12.0 Windows 7 de 64 bits

48
FDx SDK Pro Programming Manual - Java Chapter 8. Signed Applet and Web Browser Integration

8.9. Navegador Google Chrome

Probando Google Chrome v27.0.1453.94 m en Windows 7 de 32 bits


Probando Google Chrome v27.0.1453.94 m enWindows 7 de 64 bits

49

Vous aimerez peut-être aussi