О программе
Тестовая утилита BioLib — консольная утилита, предназначенная для демонстрации возможностей библиотеки biolib.dll. Библиотека позволяет использовать высокоуровневые команды для работы с биометрическими сканерами, вызывая низкоуровневые библиотеки FSSM и FAPI.
Условия применения
Поддерживаемые устройства
- Рутокен ЭЦП 3.0 3250 БИО
Поддерживаемые ОС
- Windows (64-бит и 32-бит);
- Linux (64-бит).
Поддерживаемые сканеры
Список поддерживаемых сканеров доступен на странице Перечень поддерживаемых сканеров.
Начало работы
Установка тестовой утилиты не требуется.
Для корректной работы утилиты:
Поместите библиотеки fssm.dll, fapi.dll, biolib.dll и rtpkcs11ecp.dll, а также папку adapters, содержащую адаптеры и драйверы сканеров отпечатков пальцев, в ту же директорию, где находится исполняемый файл biolib‑samples.
Адаптер — это динамически подключаемая библиотека, служащая мостом между унифицированным программным интерфейсом библиотеки FSSM и специфическим, уникальным API конкретного сканера (или семейства сканеров) от производителя.
Все необходимые библиотеки можно найти в составе BioSDK.
- Установите драйверы используемых сканеров в соответствии с Инструкцией по настройке сканеров разных производителей для работы с FSSM.
Чтобы запустить утилиту:
Подключите Рутокен к компьютеру.
Для корректной работы утилиты необходимо, чтобы к компьютеру был подключен только один Рутокен.
- Подключите сканер отпечатков пальцев.
- Запустите исполняемый файл biolib‑samples.
В результате откроется главное меню утилиты:
pkcs successfully initialized |
Получить версию библиотеки BioLib
Чтобы узнать версию библиотеки, в главном меню выберите пункт 1.
В результате утилита выведет используемую версию библиотеки BioLib.
Пример работы:
Select an option: 1 === Get library version === biolib version: 1.0.0 Done!
Получить список всех адаптеров
Чтобы вывести список всех адаптеров, в главном меню выберите пункт 2.
В результате отобразится список всех адаптеров. Если адаптер доступен, будет указано "available: true", иначе — "available: false".
Чтобы адаптер появился в списке:
- Найдите готовый адаптер или создайте свой и реализуйте в нем все необходимые функции.
- Поместите файл адаптера в папку adapters.
Чтобы адаптер стал доступен:
- Найдите библиотеки, реализующие API используемого сканера.
- Разместите эти библиотеки в подпапке drivers, находящейся внутри adapters.
Пример работы:
Select an option: 2 === List scanners adapters === 1. Futronic - available: true 2. Papilon - available: true 3. ZKTeco - available: false Done!
Получить список подключенных сканеров
Чтобы вывести список подключенных сканеров, в главном меню выберите пункт 3.
В результате отобразится список подключенных сканеров в формате "<Порядковый номер>. <Вендор > - ID: <Идентификатор>".
Пример работы:
Select an option: 3 === Get scanner list === 1. Futronic - ID: 0 2. Papilon - ID: 1 Done!
Выбрать сканер для работы с утилитой
Чтобы выбрать сканер, который будет использоваться для работы с утилитой:
- В главном меню выберите пункт 4.
- Введите порядковый номер сканера. Порядковый номер сканера можно узнать в пункте меню 3 ("3. List scanners").
Чтобы выйти из меню выбора сканера, введите 0 ("0. Reset scanner"). Сканер для работы с утилитой изменен не будет.
В результате будет выбран сканер для работы с утилитой.
Пример работы:
Select an option: 4 === Set default scanner === 0. Reset scanner 1. Futronic - ID: 0 Choose scanner (0-1): 1 Done!
Получить сведения об отпечатках
Чтобы получить сведения об отпечатках, которые находятся на Рутокене, в главном меню выберите пункт 5.
Если на Рутокене есть отпечатки, в результате будет отображена информация об этих отпечатках. В сведения об отпечатках входят:
- fingerprintId — идентификатор набора отпечатков пальцев;
- retryCountLeft — оставшееся количество попыток аутентификации по отпечатку пальца;
- maxRetryCount — максимальное количество попыток аутентификации по отпечатку пальца;
- type — тип биометрии (устанавливается как 1 — свертка отпечатка пальца);
- finger — описание одного отпечатка пальца в наборе.
В описание одного отпечатка в наборе (finger) входит:
- номер в формате «порядковый номер отпечатка/всего отпечатков»;
- type — тип пальца в формате «левая или правая рука_название пальца»;
- targetScansCount — количество изображений отпечатка в наборе.
Пример работы:
Select an option: 5 === Get info about fingerprint === fingerprintId: 3 retryCountLeft: 10 maxRetryCount: 10 type: 1 finger 1/3: type: left_thumb targetScansCount: 4 finger 2/3: type: left_index targetScansCount: 4 finger 3/3: type: left_middle targetScansCount: 4 Done!
Если на Рутокене нет отпечатков, то выведется сообщение:
Select an option: 5 === Get info about fingerprint === BIO_GetFingerprintInfo failed: 7 No info obtained Done!
Задать тестовый набор отпечатков
Тестовый набор отпечатков состоит из отпечатков большого, указательного и среднего пальцев. Каждый отпечаток содержит четыре изображения.
Чтобы задать тестовый набор отпечатков пальцев на Рутокене:
- В главном меню выберите пункт 6.
- Если на Рутокене уже есть набор отпечатков, то выполните аутентификацию с помощью отпечатка пальца (приложите к сканеру палец, отпечаток которого есть на Рутокене).
Если нет, перейдите на шаг 3. - Отсканируйте большой палец левой руки. Его необходимо приложить четыре раза.
Если отобразилась ошибка "fingerprint not recognized. Try again", приложите палец еще раз. - Повторите сканирование для указательного и среднего пальцев левой руки.
В результате тестовый набор отпечатков запишется на Рутокен.
Пример работы:
Select an option: 6 === Set fingerprint === BIO_GetFingerprintInfo failed: 7 Creating new fingerprint status: left_thumb: 0 / 4 left_index: 0 / 4 left_middle: 0 / 4 next: left_thumb fingerprint not recognized. Try again status: left_thumb: 0 / 4 left_index: 0 / 4 left_middle: 0 / 4 next: left_thumb successfully scanned status: left_thumb: 1 / 4 left_index: 0 / 4 left_middle: 0 / 4 next: left_thumb successfully scanned ... status: left_thumb: 4 / 4 left_index: 0 / 4 left_middle: 0 / 4 next: left_index successfully scanned ... status: left_thumb: 4 / 4 left_index: 4 / 4 left_middle: 3 / 4 next: left_middle successfully scanned status: left_thumb: 4 / 4 left_index: 4 / 4 left_middle: 4 / 4 Fingerprint id: 3 Done!
Сбросить попытки аутентификации с помощью отпечатков пальцев
Чтобы сбросить попытки аутентификации с помощью отпечатков пальцев, в главном меню выберите пункт 7.
В результате попытки аутентификации с помощью отпечатков пальцев будут сброшены.
Пример работы:
Select an option: 7 === Unblock fingerprint === Fingerprint unblocked successfully Done!
Аутентифицироваться на Рутокене
На Рутокене должны быть записаны отпечатки. Записать отпечатки можно в пункте меню 6 ("6. Set fingerprint").
Чтобы аутентифицироваться на Рутокене:
- В главном меню выберите пункт 8.
- Выберите метод аутентификации.
1. Authenticate— аутентификация по отпечатку пальца.2. Authenticate with login— аутентификация по отпечатку пальца и PIN-коду Пользователя (используется PIN-код Пользователя по умолчанию — 12345678).3. Authenticate with login; Restore cache— аутентификация по отпечатку пальца и объекту CKO_DATA, содержащему секретный AES ключ. Этот объект можно создать, запустив метод аутентификации 4 ("4. Authenticate with login; Set cache").4. Authenticate with login; Set cache— аутентификация по отпечатку пальца и PIN-коду Пользователя. После успешной аутентификации записывает объект CKO_DATA, содержащий секретный AES ключ. - Приложите к сканеру палец, отпечаток которого записан на Рутокене.
В результате утилита проведет аутентификацию пользователя на Рутокене, а потом выполнит деаутентификацию.
Пример работы:
Select an option: 8 === Authenticate on token === 1. Authenticate 2. Authenticate with login 3. Authenticate with login; Restore cache 4. Authenticate with login; Set cache Choose: 2 Using default USER pin: 12345678 Using timeout: 5 seconds Authenticate successfully. Now deauthenticate... Deauthenticate successfully Done!
Завершить работу утилиты
Чтобы завершить работу утилиты, в главном меню выберите пункт 0.
В результате утилита завершит свою работу.
Пример работы:
Select an option: 0 === Exit from program === Done!