Commit Graph

167 Commits

Author SHA1 Message Date
Julien Cretin
edcc206e9d Make store operations constant wrt flash operations 2020-12-10 18:41:32 +01: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
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
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
Kamran Khan
b9ffe7e4ce Use constant instead of hardcoded integer 2020-12-02 23:02:07 -08:00
Kamran Khan
dc95310fc0 Clarify comments 2020-12-01 10:13:25 -08:00
Julien Cretin
042108e3d9 Reserve 700 additional keys for credential-related stuff 2020-12-01 17:46:28 +01:00
Julien Cretin
b55d432043 Apply review comments 2020-12-01 15:39:51 +01:00
Julien Cretin
1db73c699b Apply review comments 2020-12-01 11:29:52 +01:00
Kamran Khan
ce46af0b6b Make cargo fmt happy 2020-11-30 14:43:44 -08:00
Kamran Khan
94f548d5c5 Add extended APDU parser 2020-11-30 14:35:01 -08:00
Kamran Khan
5f5f72b6d1 Use arrayref for converting into ApduHeader 2020-11-30 02:04:52 -08:00
Julien Cretin
7997041be0 Merge branch 'master' into v2_lib 2020-11-30 10:34:54 +01:00
Kamran Khan
d70dd24ffd Merge remote-tracking branch 'upstream/master' into apdu-parser-kk 2020-11-30 00:23:26 -08:00
Julien Cretin
a0801c3023 Merge branch 'master' into v2_lib 2020-11-28 19:27:21 +01:00
Fabian Kaczmarczyck
2a4677c0b1 adds user data to persistent storage 2020-11-27 16:53:12 +01:00
Fabian Kaczmarczyck
1571f58cd3 wrapping_add in storage and more moving 2020-11-26 19:21:41 +01:00
kaczmarczyck
1d7365c4cb Merge branch 'master' into get-next-assertion 2020-11-26 18:51:06 +01:00
Jean-Michel Picod
3d1d827984 Address PR comments 2020-11-26 16:29:14 +01:00
Fabian Kaczmarczyck
3aef7e8b19 reuse update_command_permission 2020-11-26 15:56:59 +01:00
Fabian Kaczmarczyck
ed59ebac0d command timeout for GetNextAssertion 2020-11-26 14:56:52 +01:00
Fabian Kaczmarczyck
ffe19e152b moves UP check in GetAssertion before NO_CREDENTIALS 2020-11-26 14:41:22 +01:00
Fabian Kaczmarczyck
5ff3816782 sets the correct user and number of credentials 2020-11-26 14:41:22 +01:00
Fabian Kaczmarczyck
af4eef8085 adds credential ordering 2020-11-26 14:41:21 +01:00
Fabian Kaczmarczyck
3ae59ce1ec GetNextAssertion command minimal implementation
This still lacks order of credentials and timeouts.
2020-11-26 14:41:21 +01:00