Commit Graph

1152 Commits

Author SHA1 Message Date
kaczmarczyck
92e1d51442 Fix libfido in configure (#499)
* fix capitalization of Ctap2 in configure

* changes setup to match new libfido2 version
2022-06-13 13:46:15 +02:00
kaczmarczyck
95aa02f932 allows passing in capabilities to CtapHid (#496) 2022-06-10 14:31:33 +02:00
Liam Murphy
dc3e34b824 Use VENDOR_HID when creating USB config when Vendor HID enabled (#495)
* Use VENDOR_HID when creating USB config when Vendor HID enabled

* reduce noise
2022-06-10 12:56:29 +02:00
Julien Cretin
4763c3a3f1 Merge pull request #489 from egor-duda/hostenv-file-storage
Hostenv file storage
2022-06-08 17:06:13 +02:00
Julien Cretin
aea4c56884 Merge branch 'develop' into hostenv-file-storage 2022-06-08 15:55:28 +02:00
Jean-Michel Picod
15233dba3e Fix pylint configuration, script and matcher (#491)
* Fix pylint configuration, script and matcher

* Makes yapf happy

* Fix one-liner docstring

* Fix one-liner docstring
2022-06-07 20:39:22 +02:00
Egor Duda
cc1fb2543e Accommodate Store requirements for max_word_writes and max_page_erases 2022-06-07 17:04:18 +03:00
Egor Duda
0158cc846d Use 0xff for consistency 2022-06-07 15:58:08 +03:00
Egor Duda
2708074949 Improve variable names and comments readability 2022-06-06 15:08:42 +03:00
Egor Duda
660b6b76b2 Make FileOptions available to library's users 2022-06-06 15:06:29 +03:00
Egor Duda
4e47968233 Separate options type for FileStorage, remove hardcoded constants 2022-06-05 22:40:59 +03:00
Egor Duda
c0299c3225 No need for specific feature, use std instead 2022-06-05 22:40:32 +03:00
Egor Duda
f2cb2f72e7 Use StorageError::CustomError for implementations-specific (I/O) errors 2022-06-05 22:39:13 +03:00
Egor Duda
1cf7373bfe With new Storage API there's no need to double-buffer file data
read_slice(...) can return Cow::Owned buffer to the caller
2022-06-05 15:16:49 +03:00
Egor Duda
db26f6125b Implement file-backed persistent storage
This allows running ctap2 authenticator application on non-embedded host OS
to implement virtual FIDO2 authenticator for QEMU
2022-06-05 15:08:52 +03:00
Julien Cretin
12f6ed6e0b Merge pull request #487 from ia0/read_cow
Allow read_slice to return a Vec
2022-06-03 18:31:45 +02:00
Julien Cretin
0f368f0b48 Add justification for Cow usage 2022-06-03 17:03:06 +02:00
Julien Cretin
f57126634b Allow read_slice to return a Vec 2022-06-03 11:16:43 +02:00
hcyang
85fe9cd29d Add sturctured get assertion and client pin fuzzers (#482) 2022-05-27 10:34:38 +08:00
Julien Cretin
4cfc5f57d4 Merge pull request #481 from ia0/ed25519
Add local and github tests for ed25519
2022-05-20 11:03:07 +02:00
Julien Cretin
67ef705eb4 Add ed25519 to local and github tests 2022-05-20 10:31:52 +02:00
Julien Cretin
926410509a Merge pull request #478 from egor-duda/ed25519
Support ed25519 crypto algorithm
2022-05-20 10:31:11 +02:00
egor-duda
9a9d68ec41 Merge branch 'develop' into ed25519 2022-05-19 22:58:02 +03:00
Julien Cretin
7b872df01e Merge pull request #480 from ia0/remove_dep
Remove useless dependency after rng256 was split out
2022-05-19 17:24:14 +02:00
Julien Cretin
5685e95b79 Remove useless dependency after rng256 was split out 2022-05-19 15:20:39 +02:00
Egor Duda
9d36da16c7 More detailed description for "ed25519" option 2022-05-19 12:00:28 +03:00
Egor Duda
5aac730f93 Delete spurious file 2022-05-19 08:50:47 +03:00
Egor Duda
1277b97018 Remove obsolete comment 2022-05-18 20:51:28 +03:00
Egor Duda
e4d3262623 Reserve version IDs to avoid accidental reuse with other options 2022-05-18 20:50:56 +03:00
Julien Cretin
6f40c9ad48 Merge pull request #479 from ia0/no_eq
Only derive PartialEq and Eq for PrivateKey for tests
2022-05-17 23:48:24 +02:00
Julien Cretin
07424c3123 Only derive PartialEq and Eq for PrivateKey for tests
We shouldn't compare private keys in prod for side-channel resilience. Ideally
we shouldn't clone too. We currently do for storage. Fixing this would probably
require to serialize the private key in the credential struct.
2022-05-17 22:59:18 +02:00
Egor Duda
25d538cde6 fix formatting 2022-05-17 23:03:22 +03:00
Egor Duda
42bfd7860d whitespace cleanup 2022-05-17 19:53:45 +03:00
Egor Duda
b9c48b480a Common setting for unsupported CredentialId version 2022-05-17 19:49:25 +03:00
Egor Duda
dc7311a3bd Shorter idiomatic expression for finding preferred crypto algorithm 2022-05-17 17:33:21 +03:00
Egor Duda
c7116b1c21 Return strict warning checking
llvm_asm! don't cause warnings in older edition of Rust
2022-05-17 17:16:01 +03:00
Egor Duda
06230d15e1 Fix compile warning 2022-05-17 17:15:47 +03:00
Egor Duda
245436f135 ed25519-compact crate does not require newer edition of Rust 2022-05-17 17:15:03 +03:00
Egor Duda
55056b721c Use ed25519-compact crate instead of ed25519-dalek
ed25519-dalek does not implement Clone and Eq for secret keys, and
relevant PR in its repository wait for merge from long time ago, leading
to potential problems with maintainability
2022-05-16 21:48:43 +03:00
Egor Duda
0ef0bb23f4 Remove unneeded code (covered by default branch) 2022-05-16 18:15:03 +03:00
Egor Duda
7f6ff31dd1 Static allocation for list of supported algorithms 2022-05-16 18:12:15 +03:00
Egor Duda
9713332eff third-party code is modified via patching 2022-05-16 18:08:11 +03:00
Egor Duda
3b8884c088 Separate test for reading ed25519 key from bad cbor 2022-05-13 22:06:10 +03:00
Egor Duda
e473af7118 Cleaner assignment syntax 2022-05-13 21:55:18 +03:00
Egor Duda
658dbe2381 Add patch to build libtock-rs with Rust 2021, needed for ed25519 support 2022-05-13 21:06:34 +03:00
Egor Duda
f24445b325 with_ed25519 -> ed25519 ("with_*" naming is discouraged) 2022-05-13 20:43:09 +03:00
Egor Duda
983bc5c5b2 Add support for ed25519 keys (#335) 2022-05-12 22:56:33 +03:00
kaczmarczyck
f95ae1f5ab Make private keys extensible (#476)
* adds PrivateKey to handle different algorithms

* fixes input check problem of decrypt_credential_source

* addresses comments

* version number not encrypted

* version number test

* adds a credential size test

* removes the algorithm from credential encoding
2022-05-10 14:31:29 +02:00
hcyang
3a39c4dff1 Add test_helpers (#474)
* Add set_enterprise_attestation in TestEnv

* Add test_helpers for Test Unification

* Used it in structured fuzzer and enterprise attestation unittests

* Restructure test_helpers

* Rename setup_enterprise_attestation to enable_
2022-05-10 18:50:18 +08:00
kaczmarczyck
8979af6ca4 adds Eq to PartialEq (#477) 2022-05-05 15:50:28 +02:00