16#define FIDO2_MAX_CREDENTIALS 32
17#define FIDO2_RP_ID_MAX_LEN 64
18#define FIDO2_USER_ID_MAX_LEN 64
19#define FIDO2_USER_NAME_MAX_LEN 32
20#define FIDO2_CRED_ID_LEN 64
23#define CDC_CURVE_ED25519 0
24#define CDC_CURVE_P256 1
142 uint8_t *out_indices, uint8_t max_indices);
uint8_t fido2_find_credentials_by_rp(const uint8_t *rp_id_hash, uint8_t *out_indices, uint8_t max_indices)
Finds credential slots matching RP ID hash.
uint32_t fido2_get_auth_counter(void)
Returns global authentication counter.
void fido2_set_pin_verified(bool verified)
Stores whether PIN verification was completed via ClientPIN.
bool fido2_is_initialized(void)
Indicates whether FIDO2 subsystem is initialized.
#define FIDO2_RP_ID_MAX_LEN
bool fido2_get_credential_info(uint8_t index, fido2_credential_info_t *info)
#define FIDO2_USER_NAME_MAX_LEN
bool fido2_init(void)
Initializes storage, CTAP layers, and starts the processing task.
void fido2_set_user_presence_callback(fido2_user_presence_cb_t cb)
Sets callback used to request user presence for CTAP operations.
bool fido2_delete_credential(uint8_t slot)
Deletes credential in given slot.
uint8_t fido2_get_available_slots(void)
Returns number of free credential slots.
void fido2_increment_auth_counter(void)
Increments global authentication counter.
fido2_user_presence_result_t fido2_request_user_presence(const char *rp_id, fido2_action_t action, const char *user_name)
Requests user presence from host/application callback.
fido2_user_presence_result_t
fido2_user_presence_result_t(* fido2_user_presence_cb_t)(const char *rp_id, fido2_action_t action, const char *user_name)
bool fido2_factory_reset(void)
Removes all credentials and resets FIDO2 data.
bool fido2_is_pin_verified(void)
Returns current PIN-verified state.
#define FIDO2_USER_ID_MAX_LEN
uint8_t fido2_get_credential_count(void)
Returns number of stored credentials.
@ FIDO2_ACTION_AUTHENTICATE
char rp_id[FIDO2_RP_ID_MAX_LEN]
char user_name[FIDO2_USER_NAME_MAX_LEN]