kaczmarczyck
990c2b3ea6
Merge branch 'develop' into add_doc
2022-03-28 16:50:50 +02:00
Julien Cretin
f862d4cc18
Address all occurrences of statement expression attributes
2022-03-28 16:29:22 +02:00
Julien Cretin
6e2f076e24
Add documentation for #[cfg] work-around on expressions
2022-03-28 15:29:15 +02:00
kaczmarczyck
8331aa1378
allows Make before Reset ( #449 )
2022-03-28 14:29:32 +02:00
Howard Yang
17ecd46b04
Generate valid structure for MakeCredential params
...
* Add crate arbitrary as ctap's optional dependency, when feature "fuzz"
is activated.
* Derive Arbitrary for all the necessary types in order to generate the
concrete types from random bytes.
* Add a fuzz target that transforms the input to valid format for
MakeCredential.
2022-03-22 19:06:20 +08:00
Fabian Kaczmarczyck
d6a2080cd5
adds channels to CTAP logic
2022-03-16 17:03:00 +01:00
kaczmarczyck
0b564d4a8a
Vendor HID ( #446 )
...
* introduces vendor HID
* updates workflows with new feature
* feature renaming and variant covering
2022-03-15 14:41:48 +01:00
kaczmarczyck
7e7d5e38a1
enforces Module imports granularity ( #445 )
2022-03-14 20:44:48 +01:00
kaczmarczyck
ba0c583617
introduces Transport and Channel ( #444 )
2022-03-14 18:40:24 +01:00
kaczmarczyck
1372fd0b1a
Separates HID command logic ( #443 )
...
* moves HID logic related to CTAP state out of the HID mod
* fixes license headers
2022-03-14 17:41:00 +01:00
Shiling Wang
2050f9f272
Replaced Libtock driver clock with embedded_time::Clock ( #422 )
...
* Replaced Libtock driver clock with embedded_time::Clock
* Add unittest and address some comments
* Add unittest and address some comments
2022-03-10 16:18:47 +01:00
Julien Cretin
0acafb107f
Merge branch 'firmware_protection' into env_console
2022-03-08 15:02:34 +01:00
Julien Cretin
95ba81b9ed
Merge branch 'develop' into firmware_protection
2022-03-08 11:25:44 +01:00
Julien Cretin
732523d380
Use Store instead of Storage in Env
2022-03-07 12:48:33 +01:00
Julien Cretin
f09e5a77e8
Add write to the environment
2022-03-04 15:16:34 +01:00
Julien Cretin
bb40e3244a
Add firmware protection to the environment
2022-03-04 11:24:10 +01:00
Julien Cretin
c4a27bf935
Add Storage and UpgradeStorage to Env
2022-03-03 17:37:28 +01:00
Julien Cretin
5c59e809c2
Make user feedback fields private
2022-03-03 17:34:49 +01:00
Julien Cretin
18faf9f38f
Introduce a trait to abstract the CTAP environment
...
The end goal is to provide users with:
- the Env trait that they should implement
- the Ctap struct that they can use
2022-03-03 17:32:48 +01:00
kaczmarczyck
522e6079e3
Forward desktop test fixes ( #419 )
...
* fixes clippy warnings for compilers until 2021-11-25
* fixes run_desktop_tests
* removes page_size
2021-11-30 11:07:17 +01:00
kaczmarczyck
5cf988c7fa
allows silent certificate checks ( #410 )
2021-11-18 17:09:40 +01:00
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