fido_dev_get_assert
—
obtains an assertion from a FIDO2 device
#include
<fido.h>
int
fido_dev_get_assert
(
fido_dev_t
*dev,
fido_assert_t
*assert,
const
char *pin);
The
fido_dev_get_assert
() function asks the
FIDO2 device represented by
dev for an
assertion according to the following parameters defined in
assert:
relying party ID
;
client data hash
;
list of allowed credential IDs
;
user presence and user verification
attributes
.
See
fido_assert_set_authdata(3)
for information on how these values are set.
If a PIN is not needed to authenticate the request against
dev, then
pin may be NULL. Otherwise
pin must point to a NUL-terminated UTF-8
string.
After a successful call to
fido_dev_get_assert
(), the
fido_assert_count(3),
fido_assert_user_display_name(3),
fido_assert_user_icon(3),
fido_assert_user_name(3),
fido_assert_authdata_ptr(3),
fido_assert_user_id_ptr(3),
fido_assert_sig_ptr(3),
and
fido_assert_sigcount(3)
functions may be invoked on
assert to
retrieve the various attributes of the generated assertion.
Please note that
fido_dev_get_assert
() is
synchronous and will block if necessary.
The error codes returned by
fido_dev_get_assert
() are defined in
<fido/err.h>
.
On success,
FIDO_OK
is returned.
fido_assert_new(3),
fido_assert_set_authdata(3)