xref: /freebsd-src/contrib/libfido2/man/fido_dev_get_assert.3 (revision 2ccfa855b2fc331819953e3de1b1c15ce5b95a7e)
10afa8e06SEd Maste.\" Copyright (c) 2018 Yubico AB. All rights reserved.
2*2ccfa855SEd Maste.\"
3*2ccfa855SEd Maste.\" Redistribution and use in source and binary forms, with or without
4*2ccfa855SEd Maste.\" modification, are permitted provided that the following conditions are
5*2ccfa855SEd Maste.\" met:
6*2ccfa855SEd Maste.\"
7*2ccfa855SEd Maste.\"    1. Redistributions of source code must retain the above copyright
8*2ccfa855SEd Maste.\"       notice, this list of conditions and the following disclaimer.
9*2ccfa855SEd Maste.\"    2. Redistributions in binary form must reproduce the above copyright
10*2ccfa855SEd Maste.\"       notice, this list of conditions and the following disclaimer in
11*2ccfa855SEd Maste.\"       the documentation and/or other materials provided with the
12*2ccfa855SEd Maste.\"       distribution.
13*2ccfa855SEd Maste.\"
14*2ccfa855SEd Maste.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15*2ccfa855SEd Maste.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16*2ccfa855SEd Maste.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17*2ccfa855SEd Maste.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18*2ccfa855SEd Maste.\" HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19*2ccfa855SEd Maste.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20*2ccfa855SEd Maste.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21*2ccfa855SEd Maste.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22*2ccfa855SEd Maste.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23*2ccfa855SEd Maste.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24*2ccfa855SEd Maste.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*2ccfa855SEd Maste.\"
26*2ccfa855SEd Maste.\" SPDX-License-Identifier: BSD-2-Clause
270afa8e06SEd Maste.\"
280afa8e06SEd Maste.Dd $Mdocdate: May 24 2018 $
290afa8e06SEd Maste.Dt FIDO_DEV_GET_ASSERT 3
300afa8e06SEd Maste.Os
310afa8e06SEd Maste.Sh NAME
320afa8e06SEd Maste.Nm fido_dev_get_assert
333e696dfbSEd Maste.Nd obtains an assertion from a FIDO2 device
340afa8e06SEd Maste.Sh SYNOPSIS
350afa8e06SEd Maste.In fido.h
360afa8e06SEd Maste.Ft int
370afa8e06SEd Maste.Fn fido_dev_get_assert "fido_dev_t *dev" "fido_assert_t *assert" "const char *pin"
380afa8e06SEd Maste.Sh DESCRIPTION
390afa8e06SEd MasteThe
400afa8e06SEd Maste.Fn fido_dev_get_assert
413e696dfbSEd Mastefunction asks the FIDO2 device represented by
420afa8e06SEd Maste.Fa dev
430afa8e06SEd Mastefor an assertion according to the following parameters defined in
440afa8e06SEd Maste.Fa assert :
450afa8e06SEd Maste.Pp
460afa8e06SEd Maste.Bl -dash -compact
470afa8e06SEd Maste.It
480afa8e06SEd Maste.Nm relying party ID ;
490afa8e06SEd Maste.It
500afa8e06SEd Maste.Nm client data hash ;
510afa8e06SEd Maste.It
520afa8e06SEd Maste.Nm list of allowed credential IDs ;
530afa8e06SEd Maste.It
540afa8e06SEd Maste.Nm user presence and user verification attributes .
550afa8e06SEd Maste.El
560afa8e06SEd Maste.Pp
570afa8e06SEd MasteSee
580afa8e06SEd Maste.Xr fido_assert_set_authdata 3
590afa8e06SEd Mastefor information on how these values are set.
600afa8e06SEd Maste.Pp
610afa8e06SEd MasteIf a PIN is not needed to authenticate the request against
620afa8e06SEd Maste.Fa dev ,
630afa8e06SEd Mastethen
640afa8e06SEd Maste.Fa pin
650afa8e06SEd Mastemay be NULL.
660afa8e06SEd MasteOtherwise
670afa8e06SEd Maste.Fa pin
680afa8e06SEd Mastemust point to a NUL-terminated UTF-8 string.
690afa8e06SEd Maste.Pp
700afa8e06SEd MasteAfter a successful call to
710afa8e06SEd Maste.Fn fido_dev_get_assert ,
720afa8e06SEd Mastethe
730afa8e06SEd Maste.Xr fido_assert_count 3 ,
740afa8e06SEd Maste.Xr fido_assert_user_display_name 3 ,
750afa8e06SEd Maste.Xr fido_assert_user_icon 3 ,
760afa8e06SEd Maste.Xr fido_assert_user_name 3 ,
770afa8e06SEd Maste.Xr fido_assert_authdata_ptr 3 ,
780afa8e06SEd Maste.Xr fido_assert_user_id_ptr 3 ,
790afa8e06SEd Maste.Xr fido_assert_sig_ptr 3 ,
800afa8e06SEd Masteand
810afa8e06SEd Maste.Xr fido_assert_sigcount 3
820afa8e06SEd Mastefunctions may be invoked on
830afa8e06SEd Maste.Fa assert
840afa8e06SEd Masteto retrieve the various attributes of the generated assertion.
850afa8e06SEd Maste.Pp
860afa8e06SEd MastePlease note that
870afa8e06SEd Maste.Fn fido_dev_get_assert
880afa8e06SEd Masteis synchronous and will block if necessary.
890afa8e06SEd Maste.Sh RETURN VALUES
900afa8e06SEd MasteThe error codes returned by
910afa8e06SEd Maste.Fn fido_dev_get_assert
920afa8e06SEd Masteare defined in
930afa8e06SEd Maste.In fido/err.h .
940afa8e06SEd MasteOn success,
950afa8e06SEd Maste.Dv FIDO_OK
960afa8e06SEd Masteis returned.
970afa8e06SEd Maste.Sh SEE ALSO
980afa8e06SEd Maste.Xr fido_assert_new 3 ,
990afa8e06SEd Maste.Xr fido_assert_set_authdata 3
100