xref: /openbsd-src/lib/libfido2/man/fido_bio_dev_get_info.3 (revision 1a8dbaac879b9f3335ad7fb25429ce63ac1d6bac)
1.\" Copyright (c) 2019 Yubico AB. All rights reserved.
2.\" Use of this source code is governed by a BSD-style
3.\" license that can be found in the LICENSE file.
4.\"
5.Dd $Mdocdate: August 11 2020 $
6.Dt FIDO_BIO_DEV_GET_INFO 3
7.Os
8.Sh NAME
9.Nm fido_bio_dev_get_info ,
10.Nm fido_bio_dev_enroll_begin ,
11.Nm fido_bio_dev_enroll_continue ,
12.Nm fido_bio_dev_enroll_cancel ,
13.Nm fido_bio_dev_enroll_remove ,
14.Nm fido_bio_dev_get_template_array ,
15.Nm fido_bio_dev_set_template_name
16.Nd FIDO 2 biometric authenticator API
17.Sh SYNOPSIS
18.In fido.h
19.In fido/bio.h
20.Ft int
21.Fn fido_bio_dev_get_info "fido_dev_t *dev" "fido_bio_info_t *info"
22.Ft int
23.Fn 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"
24.Ft int
25.Fn fido_bio_dev_enroll_continue "fido_dev_t *dev" "const fido_bio_template_t *template" "fido_bio_enroll_t *enroll" "uint32_t timeout_ms"
26.Ft int
27.Fn fido_bio_dev_enroll_cancel "fido_dev_t *dev"
28.Ft int
29.Fn fido_bio_dev_enroll_remove "fido_dev_t *dev" "const fido_bio_template_t *template" "const char *pin"
30.Ft int
31.Fn fido_bio_dev_get_template_array "fido_dev_t *dev" "fido_bio_template_array_t *template_array" "const char *pin"
32.Ft int
33.Fn fido_bio_dev_set_template_name "fido_dev_t *dev" "const fido_bio_template_t *template" "const char *pin"
34.Sh DESCRIPTION
35The functions described in this page allow biometric
36templates on a FIDO2 authenticator to be listed, created,
37removed, and customised.
38Please note that not all FIDO2 authenticators support biometric
39enrollment.
40For a description of the types involved, please refer to
41.Xr fido_bio_info_new 3 ,
42.Xr fido_bio_enroll_new 3 ,
43and
44.Xr fido_bio_template 3 .
45.Pp
46The
47.Fn fido_bio_dev_get_info
48function populates
49.Fa info
50with sensor information from
51.Fa dev .
52.Pp
53The
54.Fn fido_bio_dev_enroll_begin
55function initiates a biometric enrollment on
56.Fa dev ,
57instructing the authenticator to wait
58.Fa timeout_ms
59milliseconds.
60On success,
61.Fa template
62and
63.Fa enroll
64will be populated with the newly created template's
65information and enrollment status, respectively.
66.Pp
67The
68.Fn fido_bio_dev_enroll_continue
69function continues an ongoing enrollment on
70.Fa dev ,
71instructing the authenticator to wait
72.Fa timeout_ms
73milliseconds.
74On success,
75.Fa enroll
76will be updated to reflect the status of the biometric
77enrollment.
78.Pp
79The
80.Fn fido_bio_dev_enroll_cancel
81function cancels an ongoing enrollment on
82.Fa dev .
83.Pp
84The
85.Fn fido_bio_dev_enroll_remove
86function removes
87.Fa template
88from
89.Fa dev .
90.Pp
91The
92.Fn fido_bio_dev_get_template_array
93function populates
94.Fa template_array
95with the templates currently enrolled on
96.Fa dev .
97.Pp
98The
99.Fn fido_bio_dev_set_template_name
100function sets the friendly name of
101.Fa template
102on
103.Fa dev .
104.Pp
105The error codes returned by
106.Fn fido_bio_dev_get_info ,
107.Fn fido_bio_dev_enroll_begin ,
108.Fn fido_bio_dev_enroll_continue ,
109.Fn fido_bio_dev_enroll_cancel ,
110.Fn fido_bio_dev_enroll_remove ,
111.Fn fido_bio_dev_get_template_array ,
112and
113.Fn fido_bio_dev_set_template_name
114are defined in
115.In fido/err.h .
116On success,
117.Dv FIDO_OK
118is returned.
119.Sh SEE ALSO
120.Xr fido_bio_enroll_new 3 ,
121.Xr fido_bio_info_new 3 ,
122.Xr fido_bio_template 3
123.Sh CAVEATS
124Biometric enrollment is a tentative feature of FIDO 2.1.
125Applications willing to strictly abide by FIDO 2.0 should refrain
126from using biometric enrollment.
127Applications using biometric enrollment should ensure it is
128supported by the authenticator prior to using the API.
129Since FIDO 2.1 hasn't been finalised, there is a chance the
130functionality and associated data structures may change.
131