Scroll to navigation

FIDO_DEV_GET_ASSERT(3) Library Functions Manual FIDO_DEV_GET_ASSERT(3)


fido_dev_get_assertobtains 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 () 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 (), 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 () 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 Debian