FIDO_BIO_DEV_GET_INFO(3)

FIDO_BIO_DEV_GET_INFO(3) | Library Functions Manual | FIDO_BIO_DEV_GET_INFO(3)

# NAME

`fido_bio_dev_get_info`, `fido_bio_dev_enroll_begin`, `fido_bio_dev_enroll_continue`, `fido_bio_dev_enroll_cancel`, `fido_bio_dev_enroll_remove`, `fido_bio_dev_get_template_array`, `fido_bio_dev_set_template_name` —
FIDO 2 biometric authenticator API

# SYNOPSIS

`#include <fido.h>`
`#include <fido/bio.h>`

int
`fido_bio_dev_get_info`(fido_dev_t *dev, fido_bio_info_t *info);

int
`fido_bio_dev_enroll_begin`(fido_dev_t *dev, fido_bio_template_t *template, fido_bio_enroll_t *enroll, uint32_t timeout_ms, const char *pin);

int
`fido_bio_dev_enroll_continue`(fido_dev_t *dev, const fido_bio_template_t *template, fido_bio_enroll_t *enroll, uint32_t timeout_ms);

int
`fido_bio_dev_enroll_cancel`(fido_dev_t *dev);

int
`fido_bio_dev_enroll_remove`(fido_dev_t *dev, const fido_bio_template_t *template, const char *pin);

int
`fido_bio_dev_get_template_array`(fido_dev_t *dev, fido_bio_template_array_t *template_array, const char *pin);

int
`fido_bio_dev_set_template_name`(fido_dev_t *dev, const fido_bio_template_t *template, const char *pin);

# DESCRIPTION

The functions described in this page allow biometric templates on a FIDO2 authenticator to be listed, created, removed, and customised. Please note that not all FIDO2 authenticators support biometric enrollment. For a description of the types involved, please refer to fido_bio_info_new(3), fido_bio_enroll_new(3), and fido_bio_template(3).

The `fido_bio_dev_get_info`() function populates info with sensor information from dev.

The `fido_bio_dev_enroll_begin`() function initiates a biometric enrollment on dev, instructing the authenticator to wait timeout_ms milliseconds. On success, template and enroll will be populated with the newly created template's information and enrollment status, respectively.

The `fido_bio_dev_enroll_continue`() function continues an ongoing enrollment on dev, instructing the authenticator to wait timeout_ms milliseconds. On success, enroll will be updated to reflect the status of the biometric enrollment.

The `fido_bio_dev_enroll_cancel`() function cancels an ongoing enrollment on dev.

The `fido_bio_dev_enroll_remove`() function removes template from dev.

The `fido_bio_dev_get_template_array`() function populates template_array with the templates currently enrolled on dev.

The `fido_bio_dev_set_template_name`() function sets the friendly name of template on dev.

The error codes returned by `fido_bio_dev_get_info`(), `fido_bio_dev_enroll_begin`(), `fido_bio_dev_enroll_continue`(), `fido_bio_dev_enroll_cancel`(), `fido_bio_dev_enroll_remove`(), `fido_bio_dev_get_template_array`(), and `fido_bio_dev_set_template_name`() are defined in `<fido/err.h>`. On success, `FIDO_OK` is returned.

# SEE ALSO

fido_bio_enroll_new(3), fido_bio_info_new(3), fido_bio_template(3)

# CAVEATS

Biometric enrollment is a tentative feature of FIDO 2.1. Applications willing to strictly abide by FIDO 2.0 should refrain from using biometric enrollment. Applications using biometric enrollment should ensure it is supported by the authenticator prior to using the API. Since FIDO 2.1 hasn't been finalised, there is a chance the functionality and associated data structures may change.

September 13, 2019 | Yubico AB