Commit Graph

178 Commits

Author SHA1 Message Date
kaczmarczyck
1adde220c4 Upgrade commands (#381)
* upgrade commands

* precise metadata length

* const METADATA_LEN for test
2021-09-17 14:22:21 +02:00
Julien Cretin
b5b9d3f6e0 Fix ctap2 fuzz targets to use prod cbor parsing
This fixes a left-over from #329.
2021-08-11 16:00:30 +02:00
kaczmarczyck
b7a3e06cf4 ECDSA signatures and public keys in CTAP (#358)
* ECDSA signatures and public keys in CTAP

* adds one constant usage

* documents pub functions in ECDSA

* typo: involved

* extends wrong length test
2021-08-04 13:39:49 +02:00
David Drysdale
0287a09573 cbor: allow user to control nesting (#329)
* cbor: allow user to control nesting

 - Make the default read/write entrypoints allow infinite nesting.
 - Add {read,write}_nested() entrypoints that allow the crate user to
   control the depth of nesting that's allowed.
 - Along the way, convert the write[_nested] variants to return a
   `Result<(), EncoderError>` rather than a bool.  This exposes
   more failure information (and forces the caller to take notice
   of those tailures), and allows use of the ? operator.

* fixup: transmute error

Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
2021-06-18 19:39:54 +02:00
David Drysdale
7719078d46 cbor: rename crate to sk-cbor
In anticipation of publishing to crates.io, which already has a `cbor`
crate.
2021-06-16 17:16:05 +02:00
kaczmarczyck
78b7767682 CBOR maps use Vec instead of BTreeMap (#303)
* CBOR uses Vec for map internally

* remove BTreeMap from get_info

* rename cbor_map_btree and clean up cbor_array_vec

* destructure now takes Vec, not BTreeMap

* adds dedup in CBOR writer

* fail to write CBOR maps with duplicates

* CBOR interface refinements

* macro documentation for CBOR map and array
2021-04-13 14:46:28 +02:00
kaczmarczyck
054e303d11 move MAX_MSG_SIZE to customization and use it in HID (#302) 2021-04-09 07:40:11 +02:00
kaczmarczyck
6216a3214d final changes to CTAP2.1 algorithm (#299) 2021-04-07 09:07:46 +02:00
kaczmarczyck
e7797a5683 Separate file crypto wrappers, starting with AES-CBC (#298)
* refactor key wrapping with tests

* remove backwards compatiblity tests

* adds AES-CBC tests for IV and RNG
2021-03-31 16:41:20 +02:00
kaczmarczyck
c596f785ff Output parameters for CTAP2.1 (#297)
* finalizes output parameters for CTAP2.1

* explanation for internal UV
2021-03-23 12:07:15 +01:00
kaczmarczyck
63232cfe60 adds PIN token state with timeouts (#296) 2021-03-22 14:03:51 +01:00
kaczmarczyck
aec1e0a409 adds PIN protocol V2 to all commands (#295) 2021-03-18 17:29:32 +01:00
kaczmarczyck
e5313057f9 PIN protocol V2 in ClientPin (#293)
* PIN protocol V2 in ClientPin

* the test ClientPin has a random second private key
2021-03-15 13:36:28 +01:00
kaczmarczyck
eb0a0770dd adds the PIN protocol trait (#292)
* adds the PIN protocol trait

* improved documentation

* SharedSecret not mutable
2021-03-10 13:20:29 +01:00
kaczmarczyck
351e6c12c6 renames PIN protocol related variables to prepare PIN protocol v2 (#291) 2021-03-04 10:37:19 +01:00
kaczmarczyck
f11a838cc7 Improved documentation for customization (#287)
* move constants to new file, and update documentation

* documentation improvements, deploy checks tests

* fix pylint

* improved code style

* swap build and check
2021-02-19 14:20:23 +01:00
Fabian Kaczmarczyck
6a31e06a55 move some logic into storage.rs 2021-02-08 21:54:22 +01:00
Fabian Kaczmarczyck
4678a7417d Merge branch 'develop' into always-uv 2021-02-08 21:44:22 +01:00
Fabian Kaczmarczyck
160c83d242 changes always uv constant to a clearer version 2021-02-08 17:53:30 +01:00
Fabian Kaczmarczyck
88a3c0fc80 assert correct const usage in code 2021-02-08 16:30:14 +01:00
Fabian Kaczmarczyck
e941073a31 new test for attestation configuration 2021-02-08 13:10:18 +01:00
kaczmarczyck
70ba53ca46 Merge branch 'develop' into enterprise-attestation 2021-02-08 12:48:35 +01:00
Fabian Kaczmarczyck
54e9da7a5b conditional allow instead of cfg not 2021-02-08 07:49:58 +01:00
Fabian Kaczmarczyck
f90d43a6a1 implements alwaysUv and makeCredUvNotRqd 2021-02-05 18:57:39 +01:00
Fabian Kaczmarczyck
604f084815 rename require_ to ensure 2021-02-05 14:52:38 +01:00
Fabian Kaczmarczyck
49cccfd270 correct const arrays of strings 2021-02-05 11:23:12 +01:00
Fabian Kaczmarczyck
44b7c3cdc1 dummy implementation for enterprise attestation 2021-02-04 21:26:00 +01:00
Fabian Kaczmarczyck
e3148319c5 allow RP ID permissions for some subcommands 2021-02-04 16:06:25 +01:00
Fabian Kaczmarczyck
5741595e57 new extension entry for largeBlobKey 2021-01-27 16:47:27 +01:00
Fabian Kaczmarczyck
2dbe1c5f07 adds enterprise for make, byte keys 2021-01-27 11:16:48 +01:00
Fabian Kaczmarczyck
7d04c5c6d0 fixes const usage in test_get_info 2021-01-22 14:23:32 +01:00
Fabian Kaczmarczyck
b2c8c5a128 adds the new command AuthenticatorLargeBlobs 2021-01-22 13:55:32 +01:00
Fabian Kaczmarczyck
3408c0a2ed makes test_get_info more readable 2021-01-21 18:24:25 +01:00
Fabian Kaczmarczyck
de3addba74 force PIN changes 2021-01-21 18:06:31 +01:00
Fabian Kaczmarczyck
14189a398a implements the credBlob extensions 2021-01-20 19:13:05 +01:00
Fabian Kaczmarczyck
6bf4a7edec fix typo 2021-01-20 13:22:24 +01:00
Fabian Kaczmarczyck
9296f51e19 stricter API for StatefulCommandPermission 2021-01-20 12:08:07 +01:00
Fabian Kaczmarczyck
134c880212 reworks command state to its own struct 2021-01-19 15:07:15 +01:00
Fabian Kaczmarczyck
e3353cb232 only stores the RP ID index as state 2021-01-19 12:42:41 +01:00
kaczmarczyck
aef9566ca4 Merge branch 'develop' into command-cred-mgmt 2021-01-14 18:18:55 +01:00
Fabian Kaczmarczyck
7268a9474b renames residential to resident 2021-01-14 18:00:05 +01:00
Fabian Kaczmarczyck
1f37ae50c5 Merge develop into command-cred-mgmt 2021-01-14 16:14:10 +01:00
kaczmarczyck
e545acda16 Merge branch 'develop' into authenticator-config 2021-01-14 15:14:07 +01:00
Fabian Kaczmarczyck
c6726660ac adds the command logic for credential management 2021-01-13 15:02:46 +01:00
Fabian Kaczmarczyck
c30268a099 code cleanups and clarifications 2021-01-12 19:13:43 +01:00
Fabian Kaczmarczyck
da27848c27 updates license header to 2021 in ctap 2021-01-12 19:13:43 +01:00
kaczmarczyck
a82f767c18 Merge branch 'develop' into authenticator-config 2021-01-12 15:45:58 +01:00
Fabian Kaczmarczyck
2776bd9b8e new CoseKey data format 2021-01-12 15:11:20 +01:00
kaczmarczyck
688d11c6b6 Merge branch 'develop' into cose-api 2021-01-12 10:24:15 +01:00
Fabian Kaczmarczyck
27a7108328 moves filter_credentials to call side 2021-01-12 07:01:25 +01:00