Commit Graph

33 Commits

Author SHA1 Message Date
kaczmarczyck
4782d7e186 Separate RNG library (#470)
* seperates the RNG library

* fixes crypto tests

* adds rng256 workflow

* fixes formatting
2022-04-28 11:36:43 +02:00
hcyang
aca1f35170 Make rng in TestEnv deterministic and seedable (#461)
* Move three dependent customizations into new file

* default_min_pin_length(_rp_ids) and max_rp_ids_length

* Did some backing store tricks to make the list configurable in
  TestCustomization.

* Add testing for TestCustomization

* Change assert comparison to assert_eq

* Separate tests

* Move 3 pure constants to new file

* Return Vec<String> for rp_ids()

* Make rng in TestEnv deterministic and seedable

* Move seed method to TestRng256

* Change some constant name in comments to snake case

* Move seed rng of env to the start

* Fix unused warning

* Make rng in TestEnv deterministic and seedable

* Move seed method to TestRng256

* Move seed rng of env to the start

* Fix unused warning

* Seed rng in all fuzz targets

* Fix error introduced when merging

Co-authored-by: Julien Cretin <cretin@google.com>
2022-04-20 15:49:17 +08:00
kaczmarczyck
b33ffb7979 Vendor HID for libtock-drivers (#452)
* multi HID interface for libtock-drivers

* proper u8 print
2022-04-05 05:52:33 +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
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
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
kaczmarczyck
40e912f8ac fixes the serde version (#407)
* fixes the serde version

* explicitly sets the version in the main Cargo.toml
2021-11-15 13:09:40 +01:00
kaczmarczyck
596b47886c Upgrade signing key generation (#379)
* adds the upgrade signing key generation and the partition offset

* use openssl in build.rs instead
2021-09-15 21:25:19 +02:00
Julien Cretin
659f8a16a2 Remove elf2tab dev-dependency
We don't use it anymore. Not sure when we used to use it.

Fixes #364
2021-08-10 11:43:58 +02:00
Fabian Kaczmarczyck
9ca17b17e1 configuration changes to reduce binary size 2021-06-18 16:57:23 +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
David Drysdale
f2812e4fe2 cbor: drop std feature, use core in tests (#327) 2021-06-16 15:40:18 +02:00
kaczmarczyck
c03605aa0c opt level and no Debug by unwrap (#311) 2021-04-21 11:45:01 +02:00
Fabian Kaczmarczyck
9270afbc21 remove derive_debug feature 2021-02-02 06:45:04 +01:00
Fabian Kaczmarczyck
c873d3b614 removes all occurences of CTAP 2.1 flags 2021-01-08 12:40:37 +01:00
Jean-Michel Picod
ca0606a557 Bump versions to 1.0 for FIDO2 certification. 2020-12-16 18:22:15 +01:00
Jean-Michel Picod
3c93c8ddc6 Remove compile time crypto material. 2020-12-16 18:22:15 +01:00
Julien Cretin
4253854cf1 Remove ram_storage feature
We don't need to build a production key without persistent storage. Tests and
fuzzing continue to use the std feature to use the RAM implementation (that does
sanity checks).
2020-12-10 13:06:05 +01:00
Julien Cretin
5673b9148f Use new persistent store library (and delete old) 2020-11-11 17:31:31 +01:00
Mirna
64c66b91f5 Fixed NFC feature flag 2020-10-27 10:05:06 +02:00
Mirna
b95b0682f9 Added NFC compile flag 2020-10-23 19:25:36 +02:00
Jean-Michel Picod
34f3483f9e Decoralate AAGUID and certificates 2020-09-14 14:03:57 +02:00
Jean-Michel Picod
728401b00f Bump elf2tab to 0.6.0 2020-09-01 17:23:26 +02:00
kaczmarczyck
fe57be24b0 Merge branch 'master' into client-pin-features 2020-08-19 19:36:14 +02:00
Guillaume Endignoux
3c5e0c9cf1 Update src/ to the new libtock. 2020-08-07 15:09:07 +02:00
Fabian Kaczmarczyck
950d90ff63 moves enum-iterator dependency to dev and updates binary reference values 2020-07-09 11:26:42 +02:00
Fabian Kaczmarczyck
131f876cdd use the enum-iterator crate for better testing of enums 2020-07-08 17:59:20 +02:00
Fabian Kaczmarczyck
d9c4c729e8 adds a feature flag for CTAP2.1, addresses comments 2020-04-28 16:04:09 +02:00
Guillaume Endignoux
8f4d4c1210 Add a --verbose parameter to print all USB packets at the OpenSK level. 2020-03-13 15:59:51 +01:00
Julien Cretin
e52a671810 Support storing in RAM instead of flash
This permits to run without persistent storage. The benefit is that the board
doesn't implement a the syscall API in Tock. The disadvantage is that rebooting
the key will reset the storage.
2020-03-04 16:24:06 +01:00
Guillaume Endignoux
495b32b7e0 Add feature to track allocations in libtock-rs and print statistics to the console. 2020-03-02 16:02:03 +01:00
Jean-Michel Picod
fdbfb1be2a Change the way private key and cert are embedded.
OpenSSL seems to serialize bigints as signed value, which means the ECC
key may end up being 33 bytes instead of the 32 bytes we're expecting,
causing build to fail.
The shell script extraction is now replaced by a build.rs script that
uses OpenSSL to extract the content and do sanity checks.
Forcing generating cryptographic materials now always generate a key and
a certificate (useful to compile/flash multiple keys without them being
considered as clones). The self-signed CA is left untouched.
2020-02-05 18:48:28 +01:00
Jean-Michel Picod
f91d2fd3db Initial commit 2020-01-30 11:47:29 +01:00