1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 05:28:40 +00:00
Commit Graph

323 Commits

Author SHA1 Message Date
Roman Zeyde
0bb7f16b78 crypto: allow Ed25519 signing larger digests (#124) 2016-10-24 12:41:10 +02:00
Pavol Rusnak
e9f0706c2e
fix prevtx hashing when input count is 0 2016-10-21 13:20:57 +02:00
Pavol Rusnak
2daab8cf02
add coins-gen.py script and generate coins.c using that script 2016-10-20 15:27:34 +02:00
Pavol Rusnak
c288a0e328
implement TXEXTRADATA transaction RequestType 2016-10-20 13:25:40 +02:00
Roman Zeyde
68a1bcc908 Add specific layout for GPG signature (#122)
Following ECDH usage of layoutDecryptIdentity (which shows "GPG decrypt for:")
this commit adds a specific case for layoutSignIdentity, showing "GPG sign for:",
instead of "GPG login to:" (which is less appropriate in the GPG context).
2016-10-17 18:08:02 +02:00
Pavol Rusnak
771a0c014b
update protobuf 2016-10-16 02:06:49 +02:00
Pavol Rusnak
f0b93b44f5
multibyte addresses can be 40 chars long 2016-10-16 02:05:03 +02:00
Roman Zeyde
b57c0ff430
Use trezor-crypto ECDH, adding Curve25519 support 2016-10-16 01:34:02 +02:00
Karel Bílek
dfc543c955 Switching address types (#119)
Address_type and address_type_p2sh were switched
2016-10-13 11:39:35 +02:00
Pavol Rusnak
7ddccdb7f4
Revert "simplify cryptoMessageVerify call"
This reverts commit 3a42032c63.
2016-10-10 17:42:42 +02:00
Pavol Rusnak
c0181b1aec
extract address related stuff into trezor-crypto 2016-10-10 11:26:52 +02:00
Pavol Rusnak
e70900d49e
don't tie message verification with P2PKH addresses 2016-10-10 10:17:51 +02:00
Pavol Rusnak
3a42032c63
simplify cryptoMessageVerify call 2016-10-10 00:18:57 +02:00
Daira Hopwood
6bfe487f19
Update address prefixes for Zcash. 2016-10-10 00:05:51 +02:00
Daira Hopwood
69d99d202d
Add support for multi-byte address prefixes. 2016-10-10 00:05:45 +02:00
Jochen Hoenicke
a0ade6343e Reworked rfc6979 signing. (#116)
New parameter is_canonical that allows for generating signatures that
have additional requirements.
2016-10-06 16:58:05 +02:00
Jochen Hoenicke
d767e52055 Confirm to change U2F counter (#114) 2016-09-27 23:33:28 +02:00
bitcartel
e0e190b3dc
Update coins.c for Zcash mainnet (#111) 2016-08-31 14:02:53 +02:00
Pavol Rusnak
8d7c1ec543 Merge pull request #110 from jhoenicke/master
More alignment fixes
2016-08-30 12:55:37 +02:00
Jochen Hoenicke
6d65551b82
More alignment fixes 2016-08-30 12:39:37 +02:00
Pavol Rusnak
dec9484a17
update version 2016-08-30 10:33:13 +02:00
Pavol Rusnak
d7c0fbc379
add const where possible (for message parsing) 2016-08-29 22:36:18 +02:00
Pavol Rusnak
0a55a9e415
update to nanopb 0.2.9.3 2016-08-29 12:59:29 +02:00
Pavol Rusnak
fff16e813a
add link to protobuf definition in coins.c 2016-08-29 10:44:40 +02:00
Jochen Hoenicke
bc55013942
Simplified one-byte encodings 2016-08-25 13:02:14 +02:00
Jochen Hoenicke
91dcead35e
Gas estimate screen, tweaked display of value 2016-08-23 22:05:24 +02:00
Jochen Hoenicke
a37a2e3612
Confirm data, streamlining code
Set all size fields to 0, if fields was not given to avoid the conditions
later.

Display data and ask for confirmation.
2016-08-22 23:18:38 +02:00
Jochen Hoenicke
05a73593f6
No special case encoding for '\x0', cleanups
The encoding for data '\x00' was tested here:
http://testnet.etherscan.io/tx/0x05d6f97de3ecd33ad4059fa9bd342a10ef99d580a2d881b0c5a0c9e8c55ff975
2016-08-19 23:35:11 +02:00
Jochen Hoenicke
22d0e7a053 Incorporated changes for updated master 2016-08-19 03:16:59 +01:00
Pavol Rusnak
efd443abe8 implement ethereum signing check 2016-08-19 03:14:38 +01:00
Pavol Rusnak
4e0a69b6ea refactor ethereum methods, show progress properly 2016-08-19 03:14:38 +01:00
Pavol Rusnak
1558d77ea0 split rlp_encode_length into rlp_encode_length and rlp_encode_list_length 2016-08-19 03:14:38 +01:00
Pavol Rusnak
3db323c599 fix printing of ethereum value and address 2016-08-19 03:14:38 +01:00
Pavol Rusnak
3d1ab24d92 simplify ethereum code, EthereumSignTx.data_length is the total length now 2016-08-19 03:14:38 +01:00
Pavol Rusnak
48008ddd8e implement layoutEthereumConfirmTx 2016-08-19 03:14:38 +01:00
Pavol Rusnak
7d9a56e678 fix curly braces in if statements 2016-08-19 03:14:38 +01:00
Nick Johnson
4a195ebd86 Don't include 0x in address display, so everything fits 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
7432805b6a Fix special RLP case for length=1 firstbyte=0 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
079d282541 Simplify send_request_chunk() 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
78b1370de9 More input sanity checks in EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
a617200c9c Add confirmation dialog to EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
e0a1743003 Add sanity checks for data fields in EthereumSignTx 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
ab49a7cb45 Calculate data length based on the initial chunk and the supplied length 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
e0395b13eb Fix RLP length calculation 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
2b6c991179 Split out send_signature and support short requests 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
1d2f9b6ecd Initial signing implementation for Ethereum 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
a9449520b8 Ethereum signing skeleton 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
9c7e41f15b Reorder fsm.c for logical grouping of signing methods 2016-08-19 03:14:38 +01:00
Nick Johnson
a031b79e24 Add sha3.o to OBJS 2016-08-19 03:14:38 +01:00
Nick Johnson
352d296f77 Return the correct MessageType from EthereumGetAddress 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
3c2d9111e2 Implement EthereumGetAddress 2016-08-19 03:14:38 +01:00
Alex Beregszaszi
bf465357ee Include placeholder handlers for the Ethereum protocol 2016-08-19 03:14:38 +01:00
Jochen Hoenicke
7d8cb9018e
Ask for confirmation on ECDH Session (gpg decrypt)
Also fix abort to send a reply (a cancel failure)
2016-07-14 18:12:55 +02:00
Pavol Rusnak
437c5739f1
Merge branch 'jhoenicke-master' 2016-07-04 17:45:01 +02:00
Pavol Rusnak
f489550a1b
Merge branch 'master' of https://github.com/jhoenicke/trezor-mcu into jhoenicke-master 2016-07-04 17:42:39 +02:00
Pavol Rusnak
79e4d4d8c2
fix uppercase letters in GitHub/GitLab 2016-07-04 16:58:57 +02:00
Pavol Rusnak
40ca2c9210
add gitlab to u2f_knownapps 2016-07-04 15:48:36 +02:00
Pavol Rusnak
633024a993
send failure when reset workflow is aborted (this sends features when it was aborted by initialize message) 2016-07-04 15:02:24 +02:00
Pavol Rusnak
3ce756b692
add set -e to shell scripts 2016-07-03 13:54:32 +02:00
Pavol Rusnak
fdbae0b0e0
fix hid_control_request for debug link 2016-06-30 14:04:11 +02:00
Jochen Hoenicke
ae4dff6e5f Only compute pubkey on demand.
Changed all hdnode callers to call hdnode_fill_public_key if
they need the public key.
2016-06-27 10:13:18 +02:00
Jochen Hoenicke
97466519b0 Bitbucket U2F support 2016-06-26 21:49:41 +02:00
Pavol Rusnak
c6309ff93c
no UI for ECDHSessionKey for now (just ask for PIN) 2016-06-23 19:09:24 +02:00
Roman Zeyde
c86086e2b9 Add ECDH support 2016-06-16 22:40:21 +03:00
Pavol Rusnak
79986604a3 Merge pull request #92 from jhoenicke/master
Implement message SetU2FCounter
2016-06-13 00:30:12 +02:00
Jochen Hoenicke
120cfc148f
new message SetU2FCounter 2016-06-12 23:44:36 +02:00
Pavol Rusnak
57197e1463
use macros for usb interface numbers 2016-06-12 23:11:46 +02:00
Pavol Rusnak
5e57a1ceaf
Merge branch 'u2f' 2016-06-12 22:53:28 +02:00
Alex Beregszaszi
080dcf462f
Define field size limits for the Ethereum protocol 2016-06-12 22:51:05 +02:00
Jochen Hoenicke
caafefc0fb Tweaked timeouts, handle null nodes. 2016-06-12 21:25:35 +02:00
Roman Zeyde
e2064337c6 Update protobuf definitions 2016-06-11 22:20:38 +03:00
Roman Zeyde
63696dc474 crypto: add ECDH session key generation 2016-06-10 22:17:02 +03:00
Pavol Rusnak
da067913c2
show app icons in u2f dialog 2016-06-09 18:11:19 +02:00
Pavol Rusnak
b1e3c52b08
remove DialogIcon enum, use bitmap structure directly 2016-06-08 19:20:07 +02:00
Pavol Rusnak
9aaf0d37ba
add u2f icons 2016-06-08 19:20:06 +02:00
Ondrej Sika
2929bfbd48
u2f - add Slush Pool to WellKnown 2016-06-08 19:18:23 +02:00
Pavol Rusnak
36b9d80120
bump version (to 1.3.6) 2016-06-07 15:27:05 +02:00
Jochen Hoenicke
73e7d82e3f Allow initialize() to abort PIN wait 2016-05-28 16:24:14 +02:00
Pavol Rusnak
11072320a9
use ff01 usage page for debuglink 2016-05-27 15:27:41 +02:00
Jochen Hoenicke
c4e8bd0d0e More robust storage recycle sector
Clear storage marker first before clearing the second sector to prevent
leaving a state where only PIN failures have been cleared but storage is
still present.
2016-05-27 14:03:20 +02:00
Jochen Hoenicke
a366700332 fix indentation 2016-05-26 21:21:08 +02:00
Jochen Hoenicke
78d11cf060 New memory access over debug link 2016-05-26 20:59:16 +02:00
Jochen Hoenicke
be0858b7d7 Updated protobuf 2016-05-26 20:59:16 +02:00
Jochen Hoenicke
18d549c83d Fix U2F hid interface index for debug link 2016-05-26 20:59:16 +02:00
Jochen Hoenicke
e093371129 Added storage area for u2f counter.
To prevent flashing for every u2f operation just clear one bit in
the u2f area to indicate an increased counter.
2016-05-26 20:59:16 +02:00
Jochen Hoenicke
8e7896456a Merge branch 'origin/master' into u2f 2016-05-26 20:58:52 +02:00
Pavol Rusnak
e119656c29
use descriptor that matches fido one (except usage_page) 2016-05-26 13:33:10 +02:00
Jochen Hoenicke
87bfd5a829 Bugfix: restore storage.
Storage restore was broken due to my previous patch.
2016-05-25 01:14:32 +02:00
Jochen Hoenicke
053fe7cb66 Remove Cancel Option
U2F doesn't allow cancellation on device.

Also fix button state in protect.  This fixes the following bug:
1. wipe device
2. press and hold right button, click left button to cancel.
3. release all buttons.
4. wipe device again, now automatic.
2016-05-24 01:59:37 +02:00
Jochen Hoenicke
68b34af19e More standard conform behaviour
Tested with u2f-ref-code/u2f-tests.
Known incompatibility:
 - changed challenge invalidates button press.
2016-05-24 01:16:55 +02:00
Jochen Hoenicke
a1ba431d94
Use more sensible HID descriptor 2016-05-23 19:20:21 +02:00
Jochen Hoenicke
bc92fb95a5
Clear pinarea on storage_init if upgrade fails
This also cleans up the code a bit and resets storage_uuid if upgrade fails.
2016-05-20 20:13:43 +02:00
Pavol Rusnak
46119bd007
clear pin failures on wipe and when in debug mode 2016-05-20 17:00:10 +02:00
Jochen Hoenicke
96f30a0ba7 Don't ask for passphrase with u2f. 2016-05-20 01:49:20 +02:00
Jochen Hoenicke
a0571e02a7 Removed more magic numbers.
`KEY_PATH_LEN`: length of the derivation path in the key handle

`KEY_PATH_ENTRIES`: number of entries in derivation path including
initial BIP-43 selector.

`KEY_HANDLE_LEN`: length of key handle (derivation path + HMAC checksum)
2016-05-18 03:05:04 +02:00
Pavol Rusnak
d20671b517
handle various signed_message_headers correctly 2016-05-17 18:13:08 +02:00
Pavol Rusnak
041eaa5e4b
refactor u2f dialogs into a separate function 2016-05-16 18:58:13 +02:00
Pavol Rusnak
ad2bab0186
Merge branch 'u2f' of github.com:jhoenicke/trezor-mcu into u2f 2016-05-16 18:22:03 +02:00
Pavol Rusnak
c123db71b9
Merge branch 'master' into u2f 2016-05-16 18:19:31 +02:00
Pavol Rusnak
9006c90a59
use MEMSET_BZERO and U2F_APPID_SIZE macros 2016-05-16 18:18:21 +02:00