fido_dev_make_cred
—
generates a new credential on a FIDO2 device
#include
<fido.h>
int
fido_dev_make_cred
(
fido_dev_t
*dev,
fido_cred_t
*cred,
const
char *pin);
The
fido_dev_make_cred
() function asks the
FIDO2 device represented by
dev to generate a
new credential according to the following parameters defined in
cred:
type
;
client data hash
;
relying party
;
user attributes
;
list of excluded credential IDs
;
resident/discoverable key and user
verification attributes
.
See
fido_cred_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_make_cred
(), the
fido_cred_authdata_ptr(3),
fido_cred_pubkey_ptr(3),
fido_cred_x5c_ptr(3),
and
fido_cred_sig_ptr(3)
functions may be invoked on
cred to retrieve
the various parts of the generated credential.
Please note that
fido_dev_make_cred
() is
synchronous and will block if necessary.
The error codes returned by
fido_dev_make_cred
() are defined in
<fido/err.h>
.
On success,
FIDO_OK
is returned.
fido_cred_new(3),
fido_cred_set_authdata(3)