Commit Graph
38 Commits
Author SHA1 Message Date
Emanuele Cesena d9b7906d5d ctap2.3: implement ML-DSA-44 (COSE alg -50, behind mldsa44 feature) 2026-06-07 17:59:05 -07:00
Emanuele CesenaandRobin Krahl 4bd3629b66 ctap2.3: long-touch reset (§6.11.5, §7.7) 2026-06-03 09:35:29 +02:00
Robin Krahl 9fa9c6d1d9 Reduce number of generated tests
This patch selects the test cases to run more carefully to reduce the
test execution time. Instead of testing all possible combinations in
one test case, the patch splits the tests into multiple test cases
where each test case covers one field exhaustively. The other fields
are either limited to all sensible values (if they seem relevant) or
chosen randomly (if they don’t seem relevant).
2026-06-02 23:17:39 +02:00
Robin Krahl 92f3642345 Add tests for signature counter 2026-05-31 17:00:48 +02:00
Emanuele CesenaandRobin Krahl de69cd1ffc ctap2: accept up=true on MakeCredential; LargeBlobs Set accepts both PIN protocols 2026-05-28 22:56:20 +02:00
Emanuele CesenaandRobin Krahl d64976c5da ctap2.3: getinfo advertises FIDO_2_3 2026-05-28 22:56:08 +02:00
Emanuele CesenaandRobin Krahl e91fb4779f ctap2.3: advertise smart-card transport when CCID is enabled 2026-05-28 22:07:03 +02:00
Emanuele CesenaandRobin Krahl bcec723f1b ctap2.2: implement hmac-secret-mc extension at MakeCredential time
Fixes: https://github.com/trussed-dev/fido-authenticator/issues/52
2026-05-28 21:58:18 +02:00
Emanuele CesenaandRobin Krahl a7e869b8c5 ctap2.1: test user field in RK allowlist GetAssertion response 2026-05-28 19:24:40 +02:00
Emanuele CesenaandRobin Krahl e3c79dfd85 ctap2.1: §6.5.5 PIN management — code-point validation + reject same-PIN under forcePINChange + align setPin/getPinToken error codes
Fixes: https://github.com/trussed-dev/fido-authenticator/issues/43
2026-05-28 19:23:29 +02:00
Emanuele CesenaandRobin Krahl 96a96316f0 ctap2.1: alwaysUv + toggleAlwaysUv (CTAP 2.1 §6.4, §6.11.2, §7.2) — full implementation 2026-05-28 19:11:04 +02:00
Emanuele CesenaandRobin Krahl 3daba7d8a3 ctap2.1: setMinPINLength (§6.11.4) + minPinLength extension at MakeCredential (§10.1.2.1) 2026-05-28 19:02:26 +02:00
Robin Krahl 94c439d726 Add tests for credBlob extension 2026-05-22 16:53:27 +02:00
Robin Krahl 4554cb866e make_credential: Support non-discoverable credentials without PIN
Currently, we always require the PIN to be used for make_credential
operations if it is set.  This patch implements the makeCredUvNotRqd
option that allows non-discoverable credentials to be created without
using the PIN according to § 6.1.2 Step 6 of the specification, see:

https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-makeCred-authnr-alg
https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#getinfo-makecreduvnotrqd

Fixes: https://github.com/Nitrokey/fido-authenticator/issues/34
2025-05-07 22:20:20 +02:00
Robin Krahl 223bc11eec Always reject uv = true in make_credential and get_assertion
This changes the error code if uv = true to InvalidOption even if a PIN
is set.  Previously, we returned PinRequired if a PIN is set.  The new
implementation follows § 6.1.2 Step 5 of the specification more closely.

https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-makeCred-authnr-alg
2025-05-07 21:57:44 +02:00
Robin Krahl 7ff0518b68 hmac-secret: Forbid up=false
Fixes: https://github.com/Nitrokey/fido-authenticator/issues/19
2025-05-07 16:04:44 +02:00
Robin Krahl 91a57756c0 tests: Use hmac-secret extension in TestGetAssertion 2025-05-07 15:54:54 +02:00
Robin Krahl fed17e9b35 tests: Remove exhaustive dependency 2025-02-19 12:34:23 +01:00
Robin Krahl 2c8efe16c2 tests: Inspect filesystem after test runs 2025-02-19 12:34:22 +01:00
Robin Krahl dfcaf94096 tests: Add getNextAssertion tests 2025-02-18 10:46:12 +01:00
Robin Krahl f3679b8dd5 tests: Add changePin tests 2025-02-18 10:46:11 +01:00
Robin Krahl fd6fc9b8a8 tests: Extend setPin tests 2025-02-18 10:46:11 +01:00
Robin Krahl 726ce464be tests: Add getPinRetries tests 2025-02-18 10:46:11 +01:00
Robin Krahl add1cebd26 tests: Extend getPinToken tests 2025-02-18 10:46:11 +01:00
Robin Krahl 9e4cd65e54 tests: Extend getAssertion tests 2025-02-18 10:46:11 +01:00