FIDO_DEV_GET_ASSERT(3) Library Functions Manual FIDO_DEV_GET_ASSERT(3)

obtains an assertion from a FIDO2 device

#include <fido.h>
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)
May 24, 2018 Linux 5.3.12-arch1-1