RIOT
RIOT copied to clipboard
Fido2 follow up continued
Contribution description
This PR adds changes to make the FIDO2 API usable without a transport layer as well as improve the overall usability. With this come changes specific to the native target, to account for the fact that mtd flash handling is file backed in this case.
This also includes breaking changes to the public API:
- All public methods defined in "sys/include/fido2/ctap.h" now return a
ctap_status_code_t
instead of the size of the response. - The size of the FIDO2 response is now contained within the response structure
ctap_resp_t
.
Users of the FIDO2 API need to adjust their applications to now expect a status
code as the return value of functions such as fido2_ctap_handle_request
and
expect the length of the response in resp->len
.
To test the usability of FIDO2 without a transport layer, this PR also adds another test module which tests the CTAP implementation without transport layer.
With the new test module being added, the old tests are renamed to
sys_fido2_ctap_hid
to highlight the fact that they test the CTAP2 implementation
using CTAPHID as transport binding.
Furthermore, this PR removes the dependency of ctap_hid
for ztimer64
as
having 64 bit timestamps is not required.
Testing procedure
-
tests/sys_fido2_ctap
-
tests/sys_fido2_ctap_hid
Issues/PRs references
Depends on PR #18637 Issue regarding file backed flash memory on native: #19559