108 Commits
Author SHA1 Message Date
Nicolas Stalder b039682d5c Remove some dead code 2022-03-17 02:43:01 +01:00
Nicolas Stalder 0aa05b594f Cargo fmt round 2022-03-17 02:39:21 +01:00
Nicolas Stalder ea9f133c30 Clippy round 2022-03-17 02:37:02 +01:00
Nicolas Stalder b063f779e8 No enterprise attestation support just yet 2022-03-08 23:29:18 +01:00
Nicolas Stalder 578b4a044b Fixes after running solokeys/fido2-tests 2022-03-07 23:03:57 +01:00
Nicolas Stalder 13144dd144 Use path, not filename, to load RKs 2022-03-05 21:59:14 +01:00
Nicolas Stalder 48893d3fb7 Redesign how credentials are looked up in GetAssertion 2022-03-05 21:31:20 +01:00
Nicolas Stalder a3ae8811b6 Remove the temporary serialization of credentials 2022-02-26 03:30:43 +01:00
Nicolas Stalder 9dd4bef561 Reorganize code distribution in files; add comments + test 2022-02-22 15:03:45 +01:00
Nicolas Stalder 810a103747 Move credential stripping/thinning into type 2022-02-01 13:45:42 +01:00
Szczepan ZalegaandNicolas Stalder 1df37ba67a Make the Credential ID shorter to work with some services
Some services do not accept arbitrary long key handle (aka Credential
ID), which makes the FIDO operations failing. This patch removes some
fields from credential data serialization while making credential ID,
and with this it reduces key handle size by around 30% (from ~320 to ~220
using test site [1]). Tested on Gitlab, and this patch makes it working
correctly (both registering and signing, as opposed to 500 error code
returned otherwise). Presumably the hidden limit is 255 bytes, which
would be compatible with CTAP1.

Resident Keys stay the same, with full metadata stored on the device.

[1] webauthn.bin.coffee
2022-02-01 13:45:42 +01:00
Szczepan ZalegaandConor Patrick 543199ebde Correct build errors 2022-01-17 16:35:01 -06:00
Nicolas StalderandNicolas Stalder 297114a126 Oversight - we support credential protection 2021-11-25 23:55:21 +01:00
Robin KrahlandNicolas Stalder 4c51a158c4 Handle pin_protocol field in HmacSecretInput
The December 08, 2020 version of the Client to Authenticator Protocol
(CTAP) specification added the pinUvAuthProtocol(0x04) field to the
input data for the hmac-secret extension in the
authenticatorGetAssertion command.  This patch checks that the value of
this field (if present) is set to 1 as we only support this pin
protocol.
	https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html
2021-11-25 22:08:25 +01:00
Nicolas Stalder 83dfc51d2a No explicit main branch ref 2021-11-25 00:09:45 +01:00
Conor Patrick 972b18d4eb only return one credential when 1>rk is matched in allow list 2021-11-10 21:54:21 -06:00
Nicolas Stalder 6955311ae0 Bump heapless 2021-06-10 23:57:19 +02:00
Nicolas Stalder 7513d7dbe1 Explicit licensing, after the removal from solo2 monorepo 2021-06-05 19:04:01 +02:00
Nicolas Stalder 4a75f07676 Replace ctap-types with git dependency 2021-06-05 18:50:07 +02:00
Conor Patrick f49b8bbef2 fix fido UP handling 2021-06-01 14:48:20 -07:00
Nicolas StalderandNicolas Stalder 0d609853a2 Adjust to Trussed object ID cleanup 2021-05-14 19:19:56 +02:00
Nicolas StalderandNicolas Stalder d6f3f5fb22 The great renaming
- name things by what they are
- try and make then names human readable
2021-04-25 16:31:25 +02:00
Conor PatrickandNicolas Stalder 3b911667d6 fix credMgmt, passing all tests 2021-04-25 16:31:25 +02:00
Conor PatrickandNicolas Stalder b146c415a8 use fast logs 2021-04-25 16:31:25 +02:00
Nicolas StalderandNicolas Stalder a901607bb6 Make it build 2021-04-13 23:14:07 +02:00