Commit Graph

188 Commits

Author SHA1 Message Date
Jean-Michel Picod
8595ed5e28 Addressing review comments. 2020-12-16 18:22:15 +01:00
Jean-Michel Picod
7213c4ee99 Address first round of comments. 2020-12-16 18:22:15 +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
Jean-Michel Picod
efb6378311 Add vendor command to load certificate and priv key 2020-12-16 18:22:15 +01:00
Fabian Kaczmarczyck
6c9fc2565a changes channel ID endianness to big endian 2020-12-16 11:03:16 +01:00
Kamran Khan
35bdfe90ed Re-instate the length check for Le bytes 2020-12-14 04:54:25 -08:00
Kamran Khan
dbbdddd58b Fix error codes 2020-12-14 03:45:13 -08:00
Kamran Khan
5882a6a3cc Fix ApduStatusCode->u16 implementation 2020-12-10 23:40:47 -08:00
Kamran Khan
f74d1b9ffd Return error when Le calculation overflows 2020-12-10 21:27:52 -08:00
Kamran Khan
a7eb38aac8 Use checked sub 2020-12-10 21:26:44 -08:00
Kamran Khan
9c9f9efcce Merge remote-tracking branch 'upstream/master' into ctap1-new-apdu-parser 2020-12-10 21:18:53 -08:00
Kamran Khan
29dbff7a40 The great ApduStatusCode encroachment 2020-12-10 20:15:05 -08:00
Kamran Khan
21bdbd8114 Use integers instead of ByteArray for the ApduStatusCode enum 2020-12-10 20:01:06 -08:00
Kamran Khan
162c00a0d1 Simplify Le length calculation 2020-12-10 19:54:25 -08:00
Julien Cretin
371b8af224 Move choice between prod and test storage to embedded_flash module
This way all users of storage can share the logic to choose between flash or RAM
storage depending on the "std" feature. This is needed because the store_latency
example assumes flash storage but is built when running `cargo test
--features=std`.
2020-12-10 18:04:25 +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
f5ef235c69 Merge branch 'master' into v2_lib 2020-12-10 09:38:26 +01:00
Kamran Khan
6f1c63e9b8 Add test cases to cover different length scenarios 2020-12-09 21:06:49 -08:00
Kamran Khan
0da13cd61f De-deuplicate le length calculation 2020-12-09 20:43:06 -08:00
Fabian Kaczmarczyck
d942f0173f reverts block_len to a fixed number 2020-12-09 20:11:35 +01:00
kaczmarczyck
e8f6ed9a43 Merge branch 'master' into implicit-hmac-secret 2020-12-09 19:25:44 +01:00
Fabian Kaczmarczyck
863bf521de removes extra sha256 2020-12-09 19:05:03 +01:00
Jean-Michel Picod
62dd088cd0 Add missing license header. 2020-12-09 18:55:08 +01:00
Julien Cretin
776093a68b Find the next free key in a linear way 2020-12-09 10:52:51 +01:00
Julien Cretin
8965c6c8fb Rename and use HARDWARE_FAILURE error 2020-12-08 20:45:27 +01:00
Fabian Kaczmarczyck
fcbaf1e973 fixes comments 2020-12-08 19:31:56 +01:00
Fabian Kaczmarczyck
90def7dfd3 implicitly generate HMAC-secret 2020-12-08 18:12:48 +01:00
Kamran Khan
56bc86c5d0 No need to cast again 2020-12-07 23:40:06 -08:00
Kamran Khan
2d17bb2afa Readability improvements 2020-12-07 23:38:21 -08:00
Kamran Khan
373464b72d Remove redundant type declaration 2020-12-07 23:35:47 -08:00
Kamran Khan
e4d160aaee Use TryFrom to convert between APDU and CTAP status codes 2020-12-07 23:32:04 -08:00
Kamran Khan
4c84e94039 Use new APDU parser in CTAP1 code 2020-12-07 21:23:55 -08:00
kaczmarczyck
c5007e384e Merge branch 'master' into v2_lib 2020-12-04 15:26:03 +01:00
Fabian Kaczmarczyck
0b55ff3c3a fixes formatting 2020-12-04 14:57:11 +01:00
Julien Cretin
16c0196b1d Check global counter length 2020-12-04 14:42:16 +01:00
Fabian Kaczmarczyck
21b8ad18ce fix clippy warning in apdu 2020-12-04 13:41:56 +01:00
Fabian Kaczmarczyck
b032a15654 makes the global signature counter more privacy friendly 2020-12-04 13:41:41 +01:00
Kamran Khan
1eaff57c88 Le should be interpreted as 0x10000 even in the 2-byte case 2020-12-03 08:25:34 -08:00
Kamran Khan
4bfce88e9b Remove indention level made redundant by early-return 2020-12-03 08:14:07 -08:00
Kamran Khan
bec94f02be Tweak Le appropriately depending on its swize 2020-12-03 08:10:44 -08:00
Kamran Khan
cc8bdb982d Remove unknown apdu type 2020-12-03 07:55:34 -08:00
Kamran Khan
69cdd4a0dc Use (relatively more) appropriate error code) 2020-12-03 07:53:22 -08:00
Kamran Khan
71ec2cf937 Return an error when the case isn't determined 2020-12-03 07:50:05 -08:00
Kamran Khan
943d7af503 Payload does not need to be an array 2020-12-02 23:43:35 -08:00
Kamran Khan
9fc1ac114d Reuse frame bytes for payload 2020-12-02 23:39:48 -08:00
Kamran Khan
524ebe3fce Prevent int overflow by casting before addition 2020-12-02 23:32:25 -08:00
Kamran Khan
1d8c103d9b Construct and return immutable instances of APDU instead of mutating one 2020-12-02 23:29:11 -08:00
Kamran Khan
0420ad8de6 Use constant for consistency 2020-12-02 23:06:24 -08:00
Kamran Khan
2c49718fee Lc3DataLe3 is not a valid case 2020-12-02 23:03:35 -08:00