ISO/IEC 30106-2:2016
(Main)Information technology - Object oriented BioAPI - Part 2: Java implementation
Information technology - Object oriented BioAPI - Part 2: Java implementation
ISO/IEC 30106-2:2016 specifies an interface of a BioAPI Java framework and BioAPI Java BSP, which will mirror the corresponding components, specified in ISO/IEC 30106‑1. The semantic equivalent of this standard is maintained in this part of ISO/IEC 30106.
Technologies de l'information — Objet orienté BioAPI — Partie 2: Mise en oeuvre Java
General Information
Relations
Frequently Asked Questions
ISO/IEC 30106-2:2016 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Object oriented BioAPI - Part 2: Java implementation". This standard covers: ISO/IEC 30106-2:2016 specifies an interface of a BioAPI Java framework and BioAPI Java BSP, which will mirror the corresponding components, specified in ISO/IEC 30106‑1. The semantic equivalent of this standard is maintained in this part of ISO/IEC 30106.
ISO/IEC 30106-2:2016 specifies an interface of a BioAPI Java framework and BioAPI Java BSP, which will mirror the corresponding components, specified in ISO/IEC 30106‑1. The semantic equivalent of this standard is maintained in this part of ISO/IEC 30106.
ISO/IEC 30106-2:2016 is classified under the following ICS (International Classification for Standards) categories: 35.040 - Information coding; 35.240.15 - Identification cards. Chip cards. Biometrics. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 30106-2:2016 has the following relationships with other standards: It is inter standard links to ISO 80601-2-61:2017, ISO/IEC 30106-2:2020. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 30106-2:2016 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 30106-2
ISO/IEC JTC 1/SC 37 Secretariat: ANSI
Voting begins on: Voting terminates on:
2014-12-04 2015-03-04
Information Technology — Object oriented BioAPI —
Part 2:
Java implementation
Titre manque
ICS: 35.040
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 30106-2:2014(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
©
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2014
ISO/IEC DIS 30106-2:2014(E)
Copyright notice
This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as
permitted under the applicable laws of the user’s country, neither this ISO draft nor any extract
from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, photocopying, recording or otherwise, without prior written permission being secured.
Requests for permission to reproduce should be addressed to either ISO at the address below or ISO’s
member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Reproduction may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
ii © ISO 2014 – All rights reserved
ISO/IEC DIS 30106-2
Contents Page
Foreword . xi
Introduction . xii
1 Scope . 1
2 BioAPI Java Package Structure . 1
2.1 Package org.bioapi . 1
2.1.1 Package description . 1
2.1.2 Structure . 1
2.2 Package org.bioapi.data . 2
2.2.1 Package description . 2
2.2.2 Structure . 2
3 Data types and constants . 3
3.1 Class ACBioParameters . 3
3.1.1 Description . 3
3.1.2 Method Summary . 3
3.1.2.1 int[] getChallenge() . 3
3.1.2.2 int[] getInitialBPUIOIndexOutput() . 3
3.1.2.3 int[] getSupremumBPUIOIndexOutput() . 3
3.2 Class BFPListElement . 3
3.2.1 Description . 3
3.2.2 Method Summary . 3
3.2.2.1 UUID getBFPID() . 3
3.2.2.2 UnitCategoryType getUnitCategory() . 4
3.2.2.3 void setBFPID(UUID bfpID) . 4
3.2.2.4 void setUnitCategory(UnitCategoryType unitCategory) . 4
3.3 Class BFPSchema . 4
3.3.1 Description . 4
3.3.2 Method Summary . 4
3.3.2.1 String getBFPDescription() . 4
3.3.2.2 Vector getBFPSupportedFormats() . 4
3.3.2.3 UUID getBFPUUID() . 4
3.3.2.4 Vector getFactorsMask() . 4
3.3.2.5 byte[] getFWProperty() . 5
3.3.2.6 UUID getFWPropertyID() . 5
3.3.2.7 String getPath() . 5
3.3.2.8 String getProductVersion() . 5
3.3.2.9 String getSpecVersion() . 5
3.3.2.10 UnitCategoryType getUnitCategory() . 5
3.3.2.11 String getVendor() . 6
3.4 Class BIR . 6
3.4.1 Description . 6
3.4.2 Method Summary . 6
3.4.2.1 void birFromByteArray(byte[] record) . 6
3.4.2.2 byte[] birToByteArray() . 6
3.4.2.3 void destroy() . 6
3.4.2.4 BiometricSubtype getBDBBiometricSubtype() . 6
3.4.2.5 BiometricType getBDBBiometricType(). 7
3.4.2.6 byte[] getBDBChallengeResponse() . 7
3.4.2.7 Date getBDBCreationDate() . 7
3.4.2.8 byte[] getBDBData() . 7
© ISO/IEC 2014 – All rights reserved iii
ISO/IEC DIS 30106-2
3.4.2.9 RegistryID getBDBFormat() .7
3.4.2.10 byte[] getBDBIndex() .7
3.4.2.11 ProcessedLevel getBDBProcessedLevel() .7
3.4.2.12 Purpose getBDBPurpose() .7
3.4.2.13 byte getBDBQuality() .8
3.4.2.14 Vector getBDBValidityPeriod() .8
3.4.2.15 Date getBIRCreationDate() .8
3.4.2.16 byte[] getBIRCreator() .8
3.4.2.17 byte[] getBIRIndex() .8
3.4.2.18 byte[] getBIRAdditionalData() .8
3.4.2.19 Vector getBIRValidityPeriod() .8
3.4.2.20 byte getCBEFFVersion() .9
3.4.2.21 RegistryID getPatronFormat() .9
3.4.2.22 byte getPatronHeaderVersion().9
3.4.2.23 byte[] getSBData() .9
3.4.2.24 RegistryID getSBFormat() .9
3.4.2.25 boolean hasBDBEncription() .9
3.4.2.26 boolean hasBDBIntegrity() .9
3.4.2.27 boolean isBIRSigned() . 10
3.4.2.28 boolean isQualitySupported() . 10
3.4.2.29 boolean isQualityKnown() . 10
3.4.2.30 void setBDBBiometricSubtype(BiometricSubtype bdbBiometricSubtype) . 10
3.4.2.31 void setBDBBiometricType(BiometricType bdbBiometricType) . 10
3.4.2.32 void setBDBChallengeResponse(byte bdbChallengeResponse) . 10
3.4.2.33 void setBDBCreationDate(Date bdbCreationDate) . 10
3.4.2.34 void setBDBEncription(boolean bdbEncription) . 10
3.4.2.35 void setBDBFormat(RegistryID bdbFormat) . 10
3.4.2.36 void setBDBData(byte[] bdbData) . 11
3.4.2.37 void setBDBIndex(byte[] bdbIndex) . 11
3.4.2.38 void setBDBIntegrity(boolean bdbIntegrity) . 11
3.4.2.39 void setBDBQuality(byte bdbQuality) . 11
3.4.2.40 void setBDBProcessedLevel(ProcessedLevel bdbProcessedLevel) . 11
3.4.2.41 void setBDBPurpose(Purpose bdbPurpose) . 11
3.4.2.42 void setBDBValidityPeriod(Vector bdbValidityPeriod) . 11
3.4.2.43 void setBIRCreationDate(Date birCreationDate) . 11
3.4.2.44 void setBIRCreator(byte[] birCreator) . 12
3.4.2.45 void setBIRIndex(byte[] birIndex) . 12
3.4.2.46 void setBIRAdditionalData(byte[] birAdditionalData) . 12
3.4.2.47 void setBIRValidityPeriod(Vector birValidityPeriod) . 12
3.4.2.48 void setCBEFFVersion(byte cbeffVersion) . 12
3.4.2.49 void setPatronFormat(RegistryID patronFormat) . 12
3.4.2.50 void setPatronHeaderVersion(byte patronHeaderVersion) . 12
3.4.2.51 void setSBData(byte[] sbData) . 13
3.4.2.52 void setSBFormat(RegistryID sbFormat) . 13
3.5 Class BSPSchema . 13
3.5.1 Description . 13
3.5.2 Method Summary . 13
3.5.2.1 UUID getBSPAccessUUID() . 13
3.5.2.2 String getBSPDescription() . 13
3.5.2.3 Vector getBSPSupportedAlgorithms() . 13
3.5.2.4 Vector getBSPSupportedFormats(). 13
3.5.2.5 Vector getBSPSupportedTransformOperation() . 14
3.5.2.6 UUID getBSPUUID() . 14
3.5.2.7 int getDefaultCalibrateTimeout() . 14
3.5.2.8 int getDefaultCaptureTimeout() . 14
3.5.2.9 int getDefaultEnrolTimeout() . 14
3.5.2.10 int getDefaultIdentifyTimeout() . 14
3.5.2.11 int getDefaultVerifyTimeout() . 14
3.5.2.12 Vector getFactorsMask() . 15
3.5.2.13 byte[] getHostingEndpointIRI() . 15
iv © ISO/IEC 2014 – All rights reserved
ISO/IEC DIS 30106-2
3.5.2.14 int getMaxBSPDbSize() . 15
3.5.2.15 int getMaxIdentify() . 15
3.5.2.16 int getMaxNumEnrolInstances() . 15
3.5.2.17 int getMaxAdditionalDataSize() . 15
3.5.2.18 Vector getOperations() . 16
3.5.2.19 Vector getOptions() . 16
3.5.2.20 String getPath() . 16
3.5.2.21 int getAdditionalDataPolicy() . 16
3.5.2.22 String getProductVersion() . 16
3.5.2.23 String getSpecVersion() . 16
3.5.2.24 String getVendor() . 17
3.6 Class Candidate . 17
3.6.1 Description . 17
3.6.2 Method Summary . 17
3.6.2.1 int getFMRAchieved() . 17
3.6.2.2 UUID getKey() . 17
3.6.2.3 void setFMRAchieved(int fmrAchieved) . 17
3.6.2.4 void setKey(UUID key) . 17
3.7 Class DataTypes . 18
3.7.1 Description . 18
3.7.2 Enumerations . 18
3.7.2.1 BiometricSubtype . 18
3.7.2.2 BiometricType . 18
3.7.2.3 BIRDatabaseAccess. 19
3.7.2.4 BSPSchemaOperations . 19
3.7.2.5 BSPSchemaOptions. 19
3.7.2.6 EventKind . 20
3.7.2.7 Facility . 20
3.7.2.8 GUIEnrolType . 20
3.7.2.9 GUIMoment . 20
3.7.2.10 GUIOperation . 21
3.7.2.11 GUIResponse . 21
3.7.2.12 GUISuboperation . 21
3.7.2.13 ProcessedLevel . 21
3.7.2.14 Purpose . 21
3.7.2.15 ResultOptions . 22
3.7.2.16 SecurityOptionsType . 22
3.7.2.17 UnitCategoryType . 22
3.7.2.18 UnitIndicatorStatus . 22
3.7.2.19 UnitPowerMode . 22
3.8 Class Date . 23
3.8.1 Description . 23
3.8.2 Method Summary . 23
3.8.2.1 int getDayOfMonth() . 23
3.8.2.2 int getHour() . 23
3.8.2.3 int getMinute() . 23
3.8.2.4 int getMonth() . 23
3.8.2.5 int getSecond() . 23
3.8.2.6 int getYear() . 23
3.8.2.7 boolean isLowerOrEqual (int day, int month, int year) . 24
3.8.2.8 boolean isLowerOrEqual (int day, int month, int year, int hour, int minute,
int second) . 24
3.8.2.9 boolean isLowerOrEqual (Date date) . 24
3.8.2.10 boolean isHigherOrEqual (int day, int month, int year) . 24
3.8.2.11 boolean isHigherOrEqual (int day, int month, int year, int hour, int
minute, int second) . 24
3.8.2.12 boolean isHigherOrEqual (Date date) . 24
3.8.2.13 void setDayOfMonth(int dayOfMonth) . 24
3.8.2.14 void setHour(int hour). 24
3.8.2.15 void setMinute(int minute) . 24
© ISO/IEC 2014 – All rights reserved v
ISO/IEC DIS 30106-2
3.8.2.16 void setMonth(int month) . 25
3.8.2.17 void setSecond(int second). 25
3.8.2.18 void setYear(int year) . 25
3.9 Class FrameworkSchema . 25
3.9.1 Description . 25
3.9.2 Method Summary . 25
3.9.2.1 UUID getFrameworkUUID() . 25
3.9.2.2 String getFWDescription() . 25
3.9.2.3 byte[] getFWProperty() . 25
3.9.2.4 UUID getFWPropertyID() . 26
3.9.2.5 byte[] getPath() . 26
3.9.2.6 String getProductVersion() . 26
3.9.2.7 String getSpecVersion() . 26
3.9.2.8 String getVendor() . 26
3.10 Class GUIBitmap . 26
3.10.1 Description . 26
3.10.2 Method Summary . 26
3.10.2.1 BIRSubtype getBIRSubtype() . 26
3.10.2.2 int getHeight() . 27
3.10.2.3 byte[][] getPixel() . 27
3.10.2.4 int getWidth(). 27
3.11 Class IdentifyPopulation . 27
3.11.1 Description . 27
3.11.2 Method Summary . 27
3.11.2.1 void addMember(PopulationMember member) . 27
3.11.2.2 void destroy() . 27
3.11.2.3 Vector getIdentifyPopulation() . 28
3.11.2.4 bool isBound() . 28
3.11.2.5 void unbind() . 28
3.12 Class PopulationMember . 28
3.12.1 Description . 28
3.12.2 Method Summary . 28
3.12.2.1 UUID getKey(). 28
3.12.2.2 BIR getTemplate() . 28
3.12.2.3 void setKey(UUID key) . 28
3.12.2.4 void setTemplate(BIR template) . 29
3.13 Class RegistryID . 29
3.13.1 Description . 29
3.13.2 Method Summary . 29
3.13.2.1 short getOwner() . 29
3.13.2.2 short getType() . 29
3.13.2.3 void setOwner(short owner) . 29
3.13.2.4 void setType(short type) . 29
3.14 Class SecurityProfileType . 29
3.14.1 Description . 29
3.14.2 Method Summary . 30
3.14.2.1 Vector acBioOption() . 30
3.14.2.2 byte[] getENCInfo() . 30
3.14.2.3 byte[] getHASHAlgForACBio() . 30
3.14.2.4 byte[] getMACAlgForACBio() . 30
3.14.2.5 byte[] getMACInfo() . 30
3.14.2.6 byte[] getSIGNAlg() . 30
3.14.2.7 byte[] getSIGNAlgForACBio(). 31
3.14.2.8 Vector getSupportedSecutityOptions() . 31
3.15 Class UnitListElement . 31
3.15.1 Description . 31
3.15.2 Method Summary . 31
3.15.2.1 UnitCategoryType getUnitCategory() . 31
3.15.2.2 int getUnitID() . 31
3.15.2.3 void setUnitCategory(UnitCategoryType unitCategory) . 31
vi © ISO/IEC 2014 – All rights reserved
ISO/IEC DIS 30106-2
3.15.2.4 void setUnitID(int unitID) . 31
3.16 Class UnitSchema . 32
3.16.1 Description . 32
3.16.2 Method Summary . 32
3.16.2.1 UUID getBSPUUID() . 32
3.16.2.2 String getFirmwareVersion() . 32
3.16.2.3 String getHardwareSerialNumber() . 32
3.16.2.4 String getHardwareVersion() . 32
3.16.2.5 int getMaxBSPDbSize() . 32
3.16.2.6 int getMaxIdentify() . 32
3.16.2.7 Vector getSecurityProfile() . 33
3.16.2.8 String getSoftwareVersion() . 33
3.16.2.9 Vector getSupportedEvents() . 33
3.16.2.10 UnitCategoryType getUnitCategory() . 33
3.16.2.11 int getUnitID() . 33
3.16.2.12 UUID getUnitManagerUUID() . 33
3.16.2.13 UUID getUnitProperties() . 33
3.16.2.14 byte[] getUnitProperty() . 33
3.16.2.15 UUID getUnitPropertyID() . 34
3.16.2.16 String getVendorInformation() . 34
3.16.2.17 boolean isAuthenticatedHardware() . 34
3.16.2.18 void setBSPUUID(UUID bspUUID) . 34
3.16.2.19 void setUnitID(int unitID) . 34
3.17 Class UUID . 34
3.17.1 Description . 34
4 Object oriented interfaces for supporting BioAPI_Units . 35
4.1 Introduction . 35
4.2 Interface Archive . 35
4.2.1 Description . 35
4.2.2 Method Summary . 35
4.2.2.1 void closeDatabase () . 35
4.2.2.2 void deleteBIR (UUID key) . 35
4.2.2.3 BIR getSingleBIR (UUID key) . 35
4.2.2.4 Vector listUUIDs () . 36
4.2.2.5 void openDatabase (byte[] databaseID, BIRDatabaseAccess access) . 36
4.2.2.6 UUID storeBIR (BIR biometricReference) . 36
4.2.2.7 UUID storeBIR (BIR biometricReference, byte[] auxiliaryData) . 36
4.2.2.8 void storeBIR (BIR biometricReference, UUID key) . 37
4.2.2.9 void storeBIR (BIR biometricReference, byte[] auxiliaryData, UUID key) . 37
4.2.2.10 IdentifyPopulation newIdentifyPopulation () . 37
4.2.2.11 IdentifyPopulation newIdentifyPopulation (byte[] query) . 37
4.2.2.12 IdentifyPopulation newIdentifyPopulation (Vector uuidList) . 38
4.3 Interface Comparison . 38
4.3.1 Description . 38
4.3.2 Method Summary . 38
4.3.2.1 Vector identify (int maxFMRrequested, BIR processedBIR,
boolean binning, int maxResults, int timeout) . 38
4.3.2.2 Vector identify (int maxFMRrequested, BIR processedBIR,
Vector auxiliaryBIRs, boolean binning, int maxResults, int timeout) . 38
4.3.2.3 void presetIdentifyPopulation (IdentifyPopulation population) . 39
4.3.2.4 boolean verify (int maxFMRrequested, BIR processedBIR, BIR
referenceTemplate, Vector options) . 39
4.3.2.5 boolean verify (int maxFMRrequested, BIR processedBIR, BIR
referenceTemplate, Vector auxiliaryBIRs, Vector
options) . 39
4.3.2.6 BIR getAdaptedBIR() . 40
4.3.2.7 int getFMRAchieved() . 40
4.3.2.8 byte[] getAdditionalData() . 40
4.4 Interface Processing . 41
© ISO/IEC 2014 – All rights reserved vii
ISO/IEC DIS 30106-2
4.4.1 Description . 41
4.4.2 Method Summary . 41
4.4.2.1 BIR createTemplate (BIR capturedBIR, BIR referenceTemplate,
RegistryID outputFormat, byte[] additionalData) . 41
4.4.2.2 BIR createTemplate (Vector capturedBIRs, BIR referenceTemplate,
RegistryID outputFormat, byte[] additionalData) . 41
4.4.2.3 BIR createTemplate (BIR capturedBIR, BIR referenceTemplate,
Vector auxBIRs, RegistryID outputFormat, byte[] additionalData) . 41
4.4.2.4 BIR createTemplate (Vector capturedBIRs, BIR referenceTemplate,
Vector auxBIRs, RegistryID outputFormat, byte[] additionalData) . 41
4.4.2.5 BIR process (BIR capturedBIR, RegistryID outputFormat) . 41
4.4.2.6 BIR process (BIR captureBIR, Vector auxiliaryBIRs, RegistryID
outputFormat) . 41
4.5 Interface Sensor . 42
4.5.1 Description . 42
4.5.2 Method Summary . 42
4.5.2.1 void calibrate (int timeout) . 42
4.5.2.2 BIR capture (Vector purpose, BiometricSubtype subtype,
RegistryID outputFormat, int timeout, byte[] options) . 42
4.5.2.3 UnitIndicatorStatus getIndicatorStatus() . 43
4.5.2.4 void setIndicatorStatus (UnitIndicatorStatus indicatorStatus) . 43
5 BFP level . 44
5.1 Interface BFP . 44
5.1.1 Description . 44
5.1.2 Imported Interfaces. 44
5.1.3 Method Summary . 44
5.1.3.1 void bfpLoad (BFPEventListener bfpEventListener,
BFPGUIProgressListener bfpGUIProgressListener) . 44
5.1.3.2 byte[] controlUnit (int unitID, int controlCode, byte[] inputData) . 45
5.1.3.3 byte[] getACBioInstance(int unitID) . 45
5.1.3.4 byte[] getAuxiliaryData(int unitID) . 45
5.1.3.5 BFPSchema getBFPSchema() . 46
5.1.3.6 Vector queryUnits () . 46
5.1.3.7 void setPowerMode (int unitID, UnitPowerMode powerMode) . 46
5.1.3.8 void unitAttach (int unitID) . 46
5.1.3.9 void unitDetach (int unitID) . 47
6 BSP level . 48
6.1 Interface BSP . 48
6.1.1 Description . 48
6.1.2 Imported Interfaces. 48
6.1.3 Method Summary . 48
6.1.3.1 void bspAttach (String bioAPIVersion, ACBioParameters
acBioParameters, Vector unitList,
Vector securityProfileList). 48
6.1.3.2 void bspDetach () . 49
6.1.3.3 void bspLoad (BSPEventListener bspEventListener, BFPEventListener
bfpEventListener, BFPGUIProg
...
INTERNATIONAL ISO/IEC
STANDARD 30106-2
First edition
2016-03-15
Information technology — Object
oriented BioAPI —
Part 2:
Java implementation
Technologies de l’information — Objet orienté BioAPI —
Partie 2: Mise en oeuvre Java
Reference number
©
ISO/IEC 2016
© ISO/IEC 2016, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2016 – All rights reserved
Contents Page
Foreword .vi
Introduction .vii
1 Scope . 1
2 Normative references . 1
3 BioAPI Java package structure . 1
3.1 Package org.bioapi . 1
3.1.1 Package description . 1
3.1.2 Structure . 1
3.2 Package org.bioapi.data . 2
3.2.1 Package description . 2
3.2.2 Structure . 2
4 Data types and constants . 2
4.1 Class ACBioParameters . 2
4.1.1 Description . . . 2
4.1.2 Method summary . 2
4.2 Class BFPListElement . . 2
4.2.1 Description . . . 2
4.2.2 Method summary . 3
4.3 Class BFPSchema. 3
4.3.1 Description . . . 3
4.3.2 Method summary . 3
4.4 Class BIR . 4
4.4.1 Description . . . 4
4.4.2 Method summary . 4
4.5 Class BSPSchema . 9
4.5.1 Description . . . 9
4.5.2 Method summary . 9
4.6 Class candidate .12
4.6.1 Description . . .12
4.6.2 Method summary .12
4.7 Class DataTypes .13
4.7.1 Description . . .13
4.7.2 Enumerations .14
4.8 Class date .20
4.8.1 Description . . .20
4.8.2 Method summary .21
4.9 Class FrameworkSchema .22
4.9.1 Description . . .22
4.9.2 Method summary .23
4.10 Class GUIBitmap .24
4.10.1 Description . . .24
4.10.2 Method summary .24
4.11 Class IdentifyPopulation .24
4.11.1 Description . . .24
4.11.2 Method summary .24
4.12 Class PopulationMember .25
4.12.1 Description . . .25
4.12.2 Method summary .25
4.13 Class RegistryID .25
4.13.1 Description . . .25
4.13.2 Method summary .25
4.14 Class SecurityProfileType .26
4.14.1 Description . . .26
© ISO/IEC 2016 – All rights reserved iii
4.14.2 Method summary .26
4.15 Class UnitList .27
4.15.1 Description . . .27
4.15.2 Method summary .27
4.16 Class UnitListElement .27
4.16.1 Description . . .27
4.16.2 Method summary .27
4.17 Class UnitSchema .28
4.17.1 Description . . .28
4.17.2 Method summary .28
4.18 Class UUID .30
4.18.1 Description . . .30
5 Object oriented interfaces for supporting BioAPI_Units .30
5.1 General .30
5.2 Interface archive .30
5.2.1 Description . . .30
5.2.2 Method summary .31
5.3 Interface comparison .34
5.3.1 Description . . .34
5.3.2 Method summary .34
5.4 Interface processing .36
5.4.1 Description . . .36
5.4.2 Method summary .36
5.5 Interface sensor .37
5.5.1 Description . . .37
5.5.2 Method summary .38
6 BFP level .39
6.1 Interface BFP .39
6.1.1 Description . . .39
6.1.2 Imported interfaces .39
6.1.3 Method summary .40
7 BSP level .42
7.1 Interface BSP .42
7.1.1 Description . . .42
7.1.2 Imported interfaces .42
7.1.3 Method summary .42
8 Framework level .49
8.1 Interface ComponentRegistry .49
8.1.1 Description . . .49
8.1.2 Method summary .50
8.2 Interface framework .51
8.2.1 Description . . .51
8.2.2 Inherited interfaces .51
8.2.3 Method summary .52
9 Application interaction .56
9.1 class BioAPIException extends Exception .56
9.1.1 Description . . .56
9.1.2 Constructor summary .56
9.1.3 Method summary .57
9.2 GUI callback functions .57
9.2.1 Description . . .57
9.2.2 Callback interface specification .58
10 BSP Interaction .61
10.1 Interface BSPEventListener .61
10.1.1 Method summary .61
iv © ISO/IEC 2016 – All rights reserved
11 BFP interaction .62
11.1 Interface BFPEnumerationListener .62
11.1.1 Method summary .62
11.2 Interface BFPEventListener .62
11.2.1 Method summary .62
11.3 Interface BFPGUIProgressEventListener .63
11.3.1 Method summary .63
Annex A (informative) Java requirements .64
Annex B (informative) Calling sequence examples and sample code .65
© ISO/IEC 2016 – All rights reserved v
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO’s adherence to the WTO principles in the Technical
Barriers to Trade (TBT) see the following URL: Foreword - Supplementary information
The committee responsible for this document is ISO/TC JTC1, Information technology, Subcommittee
SC 37, Biometrics.
ISO/IEC 30106 consists of the following parts, under the general title Information technology — Object
oriented BioAPI:
— Part 1: Architecture
— Part 2: Java implementation
— Part 3: C# implementation
vi © ISO/IEC 2016 – All rights reserved
Introduction
In this part of ISO/IEC 30106, an application programming interface expressed in Java language is
specified. Java is intended to be a simple, general-purpose, object oriented programming language that
is aimed at enabling programmers to quickly build a wide range of applications for multiple platforms.
This Java implementation allows an easy use of Java BSPs, Java-based application servers or Java applets.
Therefore, it is the best way to write desktop and web applications/services and this specification
provides an advanced and well-designed remote framework.
Although the best practices of Java programming states that variables should be written in smallcase
letters, in the case of symbols, such as BSP or BFPs, it has been kept as uppercase letters.
© ISO/IEC 2016 – All rights reserved vii
INTERNATIONAL STANDARD ISO/IEC 30106-2:2016(E)
Information technology — Object oriented BioAPI —
Part 2:
Java implementation
1 Scope
This part of ISO/IEC 30106 specifies an interface of a BioAPI Java framework and BioAPI Java BSP, which
will mirror the corresponding components, specified in ISO/IEC 30106-1. The semantic equivalent of
this standard is maintained in this part of ISO/IEC 30106.
2 Normative references
The following documents, in whole or in part, are normatively referenced in this document and are
indispensable for its application. For dated references, only the edition cited applies. For undated
references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 30106–1, Information technology — BioAPI for object oriented programming languages — Part 1:
Architecture
3 BioAPI Java package structure
The BioAPI Java interface will be divided into several packages. The following is the package structure:
— package org.bioapi: contains functionality to manage units, BSPs, BFPs, the Framework and
Applications;
— package org.bioapi.data: contains all the data structures.
3.1 Package org.bioapi
3.1.1 Package description
This package contains all the components responsible for managing and executing the functionality of
BioAPI. Component Registry interface is also defined in this package.
3.1.2 Structure
The description of this namespace is given explaining a bottom-up structure. In Clause 4, the interfaces
needed to be implemented for each of the Unit types are explained. It is important to note that such
interfaces do not refer to an implemented class by itself, as the accessible class will either be the
Biometric Service Provider (BSP) or the Biometric Function Provider (BFP), but the specifications in
such clause are common to the methods and properties to be added to the implemented BSP and/or BFP
classes.
This will be followed by the specification of the implementation of the BFP (Clause 5) and BSP (Clause 6)
interfaces. These two interfaces provide the lower layer interoperability level, equivalent to the SPI and
BFPI interfaces in ISO/IEC 19784-1.
The higher layer of interoperability level is provided by the specification of the Framework (Clause 7,
with the Framework Interface and the Component Registry) and the Application interaction (Clause 8,
© ISO/IEC 2016 – All rights reserved 1
with the specification of the Exceptions and Callback functions). This provides the equivalence to the
API interface in ISO/IEC 19784-1.
3.2 Package org.bioapi.data
3.2.1 Package description
This package contains all data structures needed for the implementation of OO BioAPI.
3.2.2 Structure
Several data structures are provided to comply with the requirements specified in this part of
ISO/IEC 30106. All the BioAPI.Data namespace is specified in Clause 3, where all needed classes and
enumerations are defined. This has to be complemented to the constants defined in ISO/IEC 30106-1.
4 Data types and constants
4.1 Class ACBioParameters
4.1.1 Description
Structure that provides the information that is used to generate ACBio instances.
4.1.2 Method summary
4.1.2.1 int[] getChallenge()
Description: Return the challenge from the validator of a biometric verification when ACBio is
used. This value shall be sent to the field controlValue of type ACBioContentInfor-
mation in ACBio instances.
Return value: The challenge from the validator of a biometric verification when ACBio is used.
4.1.2.2 int[] getInitialBPUIOIndexOutput()
Description: Return the initial value of BPU IO index which is to be assigned to the output
from the BioAPI Unit, BFP, or BSP when the ACBio instances are generated. The
range between InitialBPUIOIndexOutput and SupremumBPUIOIndexOutput shall
be divided into the number of BSP Units and BFPs which are inside the BSP and
assigned to the BSP Units and BSPs.
Return value: The initial value of BPU IO index.
4.1.2.3 int[] getSupremumBPUIOIndexOutput()
Description: Return the supremum of BPU IO indexes which are to be assigned to the output
from the BioAPI Unit , BFP, or BSP when the ACBio instances are generated.
Return value: The supremum of BPU IO index.
4.2 Class BFPListElement
4.2.1 Description
Identifies a BFP by category and UUID. A list is returned by a BSP when queried for the installed BFPs
that it supports.
2 © ISO/IEC 2016 – All rights reserved
4.2.2 Method summary
4.2.2.1 UUID getBFPID()
Description: Return the UUID assigned to the BFP.
Return value: UUID assigned to the BFP.
4.2.2.2 UnitCategoryType getUnitCategory()
Description: Return the category of the units.
Return value: Category of the units.
4.2.2.3 void setBFPID(UUID bfpID)
Description: Set the UUID assigned to the BFP.
Parameters: bfpID: UUID assigned to the BFP.
4.2.2.4 void setUnitCategory(UnitCategoryType unitCategory)
Description: Set the category of the units.
Parameters: unitCategory: category of the units.
4.3 Class BFPSchema
4.3.1 Description
Represents the record in the component registry that defines the properties of the BFP installed in
the system.
4.3.2 Method summary
4.3.2.1 String getBFPDescription()
Description: Return a string containing a text description of the BFP.
Return value: A string containing a text description of the BFP.
4.3.2.2 Vector getBFPSupportedFormats()
Description: Return a list the data formats that are supported by the BFP.
Return value: A list the data formats that are supported by the BFP.
4.3.2.3 UUID getBFPUUID()
Description: Return the BFP UUID
Return value: BFP UUID
4.3.2.4 Vector getFactorsMask()
Description: Return a list of the biometric types supported by the BFP.
Return value: A list of the biometric types supported by the BFP.
4.3.2.5 byte[] getFWProperty(
Description: Return the address and length of a memory buffer containing the BFP property.
The format and content of the BFP property can either be specified by a vendor
or can be specified in a related standard.
Return value: The address and length of a memory buffer containing the BFP property.
© ISO/IEC 2016 – All rights reserved 3
4.3.2.6 UUID getFWPropertyID()
Description: Return the UUID of the format of the following BFP property.
Return value: UUID of the format of the following BFP property.
4.3.2.7 String getPath()
Description: Return a pointer to a string containing the path of the file containing the BFP
executable code, including the filename. The path may be a URL. This string shall
consist of ISO/IEC 10646 characters encoded in UTF-8 (see ISO/IEC 10646:2014,
Annex D). When BFPSchema is used within a function call, the component that
receives the call allocates the memory for the Path schema element and the call-
ing component frees the memory.
Return value: A pointer to a string containing the path of the file containing the BFP executable
code, including the filename.
4.3.2.8 String getProductVersion()
Description: Return the version string of the BFP software.
Return value: The version string of the BFP software.
4.3.2.9 String getSpecVersion()
Description: Return the major/minor version number of the BioAPI specification to which the
BFP was implemented.
Return value: The major/minor version number of the BioAPI specification to which the BFP
was implemented.
4.3.2.10 UnitCategoryType getUnitCategory()
Description: Return the category of the BFP identified by the BFP UUID.
Return value: The category of the BFP identified by the BFPUUID.
4.3.2.11 String getVendor()
Description: Return a string containing the name of the BFP vendor.
Return value: A string containing the name of the BFP vendor.
4.4 Class BIR
4.4.1 Description
This interface represents Biometric Information Records (BIRs). It supports ISO/IEC 19785 definitions,
both for Simple-BIRs or for Complex-BIRs. The specification of the patron format that shall be used is
given in ISO/IEC 30106-1.
4.4.2 Method summary
4.4.2.1 void birFromByteArray(byte[] record)
Description: Fills in the BIR data from a byte array coded as ISO/IEC 19785 record.
Parameters: record: the byte array containing the CBEFF record.
Exception: If the input parameters are invalid, the format is not supported or operation fails
due to error.
BioAPIException (see 9.1)
4 © ISO/IEC 2016 – All rights reserved
4.4.2.2 byte[] birToByteArray()
Description: Serializes a BIR record so as to provide it as a byte array representing the CBEFF
information.
Return value: The byte array containing the CBEFF information.
Exception: If the input parameters are invalid, the format is not supported or operation fails
due to error.
BioAPIException (see 9.1)
4.4.2.3 void destroy()
Description: Removes all the information in the current BIR, leaving it empty for a next use.
Exception: None
4.4.2.4 BiometricSubtype getBDBBiometricSubtype()
Description: Return the BDB biometric subtype
Return value: The BDB biometric subtype
4.4.2.5 BiometricType getBDBBiometricType()
Description: Return the BDB biometric type
Return value: The BDB biometric type
4.4.2.6 byte[] getBDBChallengeResponse()
Description: Return the BDB challenge response
Return value: The BDB challenge response
4.4.2.7 Date getBDBCreationDate()
Description: Return the BDB creation date
Return value: The BDB creation date
4.4.2.8 byte[] getBDBData()
Description: Return the BDB data array
Return value: The BDB data array
4.4.2.9 RegistryID getBDBFormat()
Description: Return the format of the BDB data
Return value: The format of the BDB data
4.4.2.10 byte[] getBDBIndex()
Description: Return the BDB index
Return value: The BDB index
4.4.2.11 ProcessedLevel getBDBProcessedLevel()
Description: Return the BDB processed level
Return value: The BDB processed level
© ISO/IEC 2016 – All rights reserved 5
4.4.2.12 Purpose getBDBPurpose()
Description: Return the BDB purpose
Return value: The BDB purpose
4.4.2.13 byte getBDBQuality()
Description: Return the BDB quality
Return value: The BDB quality
4.4.2.14 Vector getBDBValidityPeriod()
Description: Return the BDB validity period
Return value: The BDB validity period
4.4.2.15 Date getBIRCreationDate()
Description: Return the BIR creation date
Return value: The BIR creation date
4.4.2.16 byte[] getBIRCreator()
Description: Return the BIR creator array
Return value: The BIR creator array
4.4.2.17 byte[] getBIRIndex()
Description: Return the BIR index
Return value: The BIR index
4.4.2.18 byte[] getBIRAdditionalData()
Description: Return the BIR additionalData
Return value: The BIR additionalData
4.4.2.19 Vector getBIRValidityPeriod()
Description: Return the BIR validity period
Return value: The BIR validity period
4.4.2.20 byte getCBEFFVersion()
Description: Return the version of the CBEFF component
Return value: The version of the CBEFF component
4.4.2.21 RegistryID getPatronFormat()
Description: Return the patron format
Return value: The patron format
4.4.2.22 byte getPatronHeaderVersion()
Description: Return the header version
Return value: The header version
6 © ISO/IEC 2016 – All rights reserved
4.4.2.23 byte[] getSBData()
Description: Return the Security Block data array
Return value: The Security Block data array
4.4.2.24 RegistryID getSBFormat()
Description: Return the Security Block format
Return value: The Security Block format
4.4.2.25 boolean hasBDBEncription()
Description: Return true if the BDB is encrypted, false otherwise.
Return value: True if the BDB is encrypted, false otherwise.
4.4.2.26 boolean hasBDBIntegrity()
Description: Return true if the BDB has integrity, false otherwise.
Return value: True if the BDB has integrity, false otherwise.
4.4.2.27 boolean isBIRSigned()
4.4.2.28 boolean isQualitySupported()
4.4.2.29 boolean isQualityKnown()
Description: Request about each of the above mentioned characteristics of the BIR.
Return value: True if the characteristic is available, false in other case.
Exception: None
4.4.2.30 void setBDBBiometricSubtype(BiometricSubtype bdbBiometricSubtype)
Description: Set the BDB biometric subtype
Parameters: bdbBiometricSubtype: BDB biometric subtype
4.4.2.31 void setBDBBiometricType(BiometricType bdbBiometricType)
Description: Set the BDB biometric type
Parameters: bdbBiometricType: BDB biometric type
4.4.2.32 void setBDBChallengeResponse(byte bdbChallengeResponse)
Description: Set the BDB challenge response
Parameters: bdbChallengeResponse: BDB challenge response
4.4.2.33 void setBDBCreationDate(Date bdbCreationDate)
Description: Set the BDB creation date
Parameters: bdbCreationDate: BDB creation date
4.4.2.34 void setBDBEncription(boolean bdbEncription)
Description: Determine if BDB data is encrypted or not
Parameters: bdbEncription: true if the BDB is encrypted, false otherwise.
© ISO/IEC 2016 – All rights reserved 7
4.4.2.35 void setBDBFormat(RegistryID bdbFormat)
Description: Set the format of the BDB data
Parameters: bdbFormat: format of the BDB data
4.4.2.36 void setBDBData(byte[] bdbData)
Description: Set the BDB data
Parameters: bdbData: BDB data
4.4.2.37 void setBDBIndex(byte[] bdbIndex)
Description: Set the BDB index array
Parameters: bdbIndex: BDB index array
4.4.2.38 void setBDBIntegrity(boolean bdbIntegrity)
Description: Determine if BDB data has integrity or not
Parameters: bdbIntegrity: true if the BDB has integrity, false otherwise.
4.4.2.39 void setBDBQuality(byte bdbQuality)
Description: Set the BDB quality
Parameters: bdbQuality: BDB quality
4.4.2.40 void setBDBProcessedLevel(ProcessedLevel bdbProcessedLevel)
Description: Set the BDB processed level
Parameters: bdbProcessedLevel: BDB processed level
4.4.2.41 void setBDBPurpose(Purpose bdbPurpose)
Description: Set the BDB purpose
Parameters: bdbPurpose: BDB purpose
4.4.2.42 void setBDBValidityPeriod(Vector bdbValidityPeriod)
Description: Set the BDB validity period
Parameters: bdbValidityPeriod: BDB validity period
4.4.2.43 void setBIRCreationDate(Date birCreationDate)
Description: Set the BIR creation date
Parameters: birCreationDate: BIR creation date
4.4.2.44 void setBIRCreator(byte[] birCreator)
Description: Set the BIR creator array
Parameters: birCreator: BIR creator array
4.4.2.45 void setBIRIndex(byte[] birIndex)
Description: Set the BIR index
Parameters: birIndex: BIR index
8 © ISO/IEC 2016 – All rights reserved
4.4.2.46 void setBIRAdditionalData(byte[] birAdditionalData)
Description: Set the BIR additionalData
Parameters: birAdditionalData: BIR additionalData
4.4.2.47 void setBIRValidityPeriod(Vector birValidityPeriod)
Description: Set the BIR validity period
Parameters: birValidityPeriod: BIR validity period
4.4.2.48 void setCBEFFVersion(byte cbeffVersion)
Description: Set the version of the CBEFF component
Parameters: cbeffVersion: version of the CBEFF component header version
4.4.2.49 void setPatronFormat(RegistryID patronFormat)
Description: Set the patron format
Parameters: patronFormat: patron format
4.4.2.50 void setPatronHeaderVersion(byte patronHeaderVersion)
Description: Set the header version
Parameters: patronHeaderVersion: header version
4.4.2.51 void setSBData(byte[] sbData)
Description: Set the SB data
Parameters: sbData: SB data
4.4.2.52 void setSBFormat(RegistryID sbFormat)
Description: Set the format of the SB data
Parameters: sbFormat: format of the SB data
4.5 Class BSPSchema
4.5.1 Description
Represents the record in the component registry that defines the properties of the BSP installed in
the system.
4.5.2 Method summary
4.5.2.1 UUID getBSPAccessUUID()
Description: Return a UUID, unique within the scope of an application, which the applica-
tion may use to refer to the BSP as an alternative to the BSP product UUID.
This parameter shall be ignored by frameworks conforming to this part of ISO/
IEC 30106 and can be set to any UUID value by an application. It is provided to
support interworking standards, which may specify the use of identical BSPs
present on multiple computers from within an application running on the same
or a different computer.
Return value: A UUID, unique within the scope of an application, which the application may use
to refer to the BSP as an alternative to the BSP product UUID.
© ISO/IEC 2016 – All rights reserved 9
4.5.2.2 String getBSPDescription()
Description: Return a string containing a text description of the BSP.
Return value: A string containing a text description of the BSP.
4.5.2.3 Vector getBSPSupportedAlgorithms()
Description: Return an array of BioAPI_ALGORITHM_ID structures specifying the supported
algorithms.
Return value: Array of BioAPI_ALGORITHM_ID structures specifying the supported algorithms.
4.5.2.4 Vector getBSPSupportedFormats()
Description: Return a list the data formats that are supported by the BSP.
Return value: A list the data formats that are supported by the BSP.
4.5.2.5 Vector getBSPSupportedTransformOperation()
Description: Return an array of BioAPI_UUID structures specifying the transform operations
supported within the BioAPI_Tranform operation.
Return value: Array of BioAPI_UUID structures specifying the transform operations supported
within the BioAPI_Tranform operation.
4.5.2.6 UUID getBSPUUID()
Description: Return the BSP UUID
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...