This patch adds the credential_id_version field to Config, making it
possible to select the credential ID version for new credentials. To
avoid invalidating existing credentials, this value is only used on the
first boot or after a factory reset.
This patch introduces the authenticator module that provides a
simple high-level interface for testing FIDO2 functionality. It uses
the module to implement tests for credential management, namely for
listing credentials and for the behavior if the credential limit is
reached or the filesystem is full.
This patch changes the test setup to use separate Channel instances for
each test case. This means that a panic in one test case does not
affect other test cases.
With this patch, we update trussed-hkdf to v0.2.0, the version that is
provided by the trussed-staging crate. This also means we no longer
have to manually implement the dispatch for the usbip example and the
tests and can instead use trussed_staging::virt::Dispatcher.
This patch adds basic integration tests that use the ctaphid library to
send CTAPHID commands to the authenticator over ctaphid-dispatch.
Unfortunately, usbd-ctaphid does not provide a public interface to its
packet handling code, so we have to copy that code for the time being.