FIDO_DEV_GET_ASSERT(3) | Library Functions Manual | FIDO_DEV_GET_ASSERT(3)

# NAME

`fido_dev_get_assert` — obtains an assertion from a FIDO2 device

# SYNOPSIS

`#include <fido.h>`

int
`fido_dev_get_assert`(fido_dev_t *dev, fido_assert_t *assert, const char *pin);

# DESCRIPTION

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.

# RETURN VALUES

The error codes returned by `fido_dev_get_assert`() are defined in `<fido/err.h>`. On success, `FIDO_OK` is returned.

# SEE ALSO

fido_assert_new(3), fido_assert_set_authdata(3)

$Mdocdate: May 24 2018 $ | NetBSD 11.0