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