RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

Fido2 follow up continued

Open Ollrogge opened this issue 2 years ago • 6 comments

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

Ollrogge avatar Sep 28 '22 20:09 Ollrogge