diff --git a/core/embed/models/T3B1/model_T3B1.h b/core/embed/models/T3B1/model_T3B1.h index ee85901a5..6ccfd3101 100644 --- a/core/embed/models/T3B1/model_T3B1.h +++ b/core/embed/models/T3B1/model_T3B1.h @@ -10,14 +10,14 @@ #define MODEL_INTERNAL_NAME_QSTR MP_QSTR_T3B1 #define MODEL_BOARDLOADER_KEYS \ - (const uint8_t *)"\x76\xaf\x42\x6e\x61\x40\x6b\xad\x7c\x07\x7b\x40\x9c\x66\xfd\xe3\x9f\xb8\x17\x91\x93\x13\xae\x1e\x4c\x02\x53\x5c\x80\xbe\xed\x96", \ - (const uint8_t *)"\x61\x97\x51\xdc\x8d\x2d\x09\xd7\xe5\xdf\xb9\x9e\x41\xf6\x06\xde\xbd\xf4\x19\xf8\x5a\x81\x43\xe8\xe5\x39\x9e\xa6\x7a\x39\x88\xc7", \ - (const uint8_t *)"\xab\xf9\x4b\x66\x15\xa7\xdd\xe2\xa8\x71\xf7\xd6\x2c\x38\xef\xc7\xd9\xd8\xf6\x01\x0d\x88\x46\xbe\xe6\x36\xe4\xf3\xe6\x58\xa3\x8c", + (const uint8_t *)"\xbb\xc2\x1a\xdb\xc1\xb4\x4d\x6b\xfe\x10\xc5\x22\x3d\xe3\x3c\x28\x42\x9e\x52\x68\x07\x07\xd3\x24\x90\x07\xed\x42\xdc\xc5\xbe\x13", \ + (const uint8_t *)"\x22\xe4\x2a\x30\x1f\x3b\x6f\xf4\xf2\xe6\x92\x6b\xce\x43\x59\xe8\x3f\xc8\x3f\x0f\x4a\x84\xa7\x33\x89\x59\xc1\xfd\x0e\x29\xdc\x13", \ + (const uint8_t *)"\x7f\x47\x8f\x5f\xb7\x8d\x8c\x05\x4b\x72\x0d\x81\x04\xbf\x2f\x64\x87\xe4\x52\x40\x24\x58\x97\x9b\x55\x25\xc2\x90\xdc\x34\x4d\x32", #define MODEL_BOOTLOADER_KEYS \ - (const uint8_t *)"\x33\x8b\x94\x9b\x7e\x3b\x26\x47\x0d\x4f\xe3\x69\x6f\xd6\xff\xf2\x87\x57\x26\x5d\x14\xcc\xa4\x8e\xbf\x2d\xb9\x7b\x4f\x5b\xc0\x39", \ - (const uint8_t *)"\x28\x68\x20\x27\x73\x0b\x78\x32\x01\xb0\x5a\x8c\x9d\x11\x68\x54\x47\xc1\x72\x97\xdb\x71\xb8\xa6\x0d\xc6\x93\xa4\x46\x10\x75\x1d", \ - (const uint8_t *)"\x9f\xbf\x31\xb4\xe3\x51\xa4\xcc\x81\xc7\x59\x95\xb2\x25\x7f\x0a\x71\x69\x26\x8d\xa5\xa4\x4e\x94\xb6\xa5\x59\x0d\x43\x4e\x32\xda", + (const uint8_t *)"\x41\xd9\x88\x48\x01\x37\x7c\xff\x04\xb0\xb4\x59\xfc\x9b\x56\xaf\x1b\x51\xf4\x73\x43\xa3\xa6\xe4\xfd\xc1\xea\xca\xbc\xad\x77\x56", \ + (const uint8_t *)"\x23\xec\x4e\xc4\x67\x4d\x68\xac\x54\x31\xe8\xba\x84\xd7\xac\x24\xcb\x5a\x66\x70\x2e\xc5\x65\x01\x4d\x16\x4a\x72\x18\x2a\x66\xc7", \ + (const uint8_t *)"\x8a\x7d\xac\x53\xe1\xbe\x46\x60\x72\x31\x92\x0b\x0c\x71\x05\x6a\x27\xbe\x16\xb6\x7a\x2f\xc0\xd8\x64\x4d\x5f\x87\x08\xa2\x8d\xd1", #define IMAGE_CHUNK_SIZE (128 * 1024) #define IMAGE_HASH_SHA256 diff --git a/core/embed/vendorheader/T3B1/vendor_prodtest.json b/core/embed/vendorheader/T3B1/vendor_prodtest.json new file mode 100644 index 000000000..44d98cec9 --- /dev/null +++ b/core/embed/vendorheader/T3B1/vendor_prodtest.json @@ -0,0 +1,22 @@ +{ + "header_len": 512, + "text": "UNSAFE, FACTORY TEST ONLY", + "hw_model": "T3B1", + "expiry": 0, + "version": [0, 0], + "sig_m": 2, + "trust": { + "_reserved": 0, + "_dont_provide_secret": false, + "allow_run_with_secret": true, + "show_vendor_string": false, + "require_user_click": false, + "red_background": false, + "delay": 0 + }, + "pubkeys": [ + "cf9af91868919da222aaf423386446d5546e165fce0f005e806e3c1a0c2334ec", + "df28cea5a5c557ed56c073c8ddeece1f4c786498efdbb3432ccf93d0af837862", + "27b4374398d4854dc9ade7a500265e1e1d755dfe3b14d207fec76a2f0a0e0529" + ] +} diff --git a/core/embed/vendorheader/T3B1/vendor_prodtest.toif b/core/embed/vendorheader/T3B1/vendor_prodtest.toif new file mode 100644 index 000000000..9d302f733 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendor_prodtest.toif differ diff --git a/core/embed/vendorheader/T3B1/vendor_trezor.json b/core/embed/vendorheader/T3B1/vendor_trezor.json new file mode 100644 index 000000000..4a64aa8e9 --- /dev/null +++ b/core/embed/vendorheader/T3B1/vendor_trezor.json @@ -0,0 +1,22 @@ +{ + "header_len": 512, + "text": "Trezor", + "hw_model": "T3B1", + "expiry": 0, + "version": [0, 0], + "sig_m": 2, + "trust": { + "_reserved": 0, + "_dont_provide_secret": false, + "allow_run_with_secret": true, + "show_vendor_string": false, + "require_user_click": false, + "red_background": false, + "delay": 0 + }, + "pubkeys": [ + "90edb45db65f26d793f8b8c6a505062286262d028d341f273272e5d2bcc71f18", + "e32f59de973a39cb2b5ce79a17cbc4107272d46c617848e3c7b19b5b731cc174", + "8a5d0b43591db2dbf3895ce19d30d7ec05333b0028737ab76cacb4b7ed0833fe" + ] +} diff --git a/core/embed/vendorheader/T3B1/vendor_trezor.toif b/core/embed/vendorheader/T3B1/vendor_trezor.toif new file mode 100644 index 000000000..60006897d Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendor_trezor.toif differ diff --git a/core/embed/vendorheader/T3B1/vendor_trezor_btconly.json b/core/embed/vendorheader/T3B1/vendor_trezor_btconly.json new file mode 100644 index 000000000..93f1ec5a0 --- /dev/null +++ b/core/embed/vendorheader/T3B1/vendor_trezor_btconly.json @@ -0,0 +1,22 @@ +{ + "header_len": 512, + "text": "Trezor Bitcoin-only", + "hw_model": "T3B1", + "expiry": 0, + "version": [0, 0], + "sig_m": 2, + "trust": { + "_reserved": 0, + "_dont_provide_secret": false, + "allow_run_with_secret": true, + "show_vendor_string": false, + "require_user_click": false, + "red_background": false, + "delay": 0 + }, + "pubkeys": [ + "461ccf3ac3f32ced6f8528aef50bacd2687f42c8d1c627ed424fdbb0f6b40041", + "15aed3fcd2fa61e738641d47e77e0a8a83371de2ef6716f9c74f70f16bc76dd8", + "c851f5d5625cfb37c4afb85eee8375b6af5b11e59be115cfa601f795921f280e" + ] +} diff --git a/core/embed/vendorheader/T3B1/vendor_trezor_btconly.toif b/core/embed/vendorheader/T3B1/vendor_trezor_btconly.toif new file mode 100644 index 000000000..1f17ff9b7 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendor_trezor_btconly.toif differ diff --git a/core/embed/vendorheader/T3B1/vendor_unsafe.json b/core/embed/vendorheader/T3B1/vendor_unsafe.json new file mode 100644 index 000000000..11ae6897f --- /dev/null +++ b/core/embed/vendorheader/T3B1/vendor_unsafe.json @@ -0,0 +1,22 @@ +{ + "header_len": 512, + "text": "UNSAFE, DO NOT USE!", + "hw_model": "T3B1", + "expiry": 0, + "version": [0, 0], + "sig_m": 2, + "trust": { + "_reserved": 0, + "_dont_provide_secret": false, + "allow_run_with_secret": false, + "show_vendor_string": true, + "require_user_click": true, + "red_background": true, + "delay": 1 + }, + "pubkeys": [ + "e28a8970753332bd72fef413e6b0b2ef1b4aadda7aa2c141f233712a6876b351", + "d4eec1869fb1b8a4e817516ad5a931557cb56805c3eb16e8f3a803d647df7869", + "772c8a442b7db06e166cfbc1ccbcbcde6f3eba76a4e98ef3ffc519502237d6ef" + ] +} diff --git a/core/embed/vendorheader/T3B1/vendor_unsafe.toif b/core/embed/vendorheader/T3B1/vendor_unsafe.toif new file mode 100644 index 000000000..9d302f733 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendor_unsafe.toif differ diff --git a/core/embed/vendorheader/T3B1/vendorheader_prodtest_unsigned.bin b/core/embed/vendorheader/T3B1/vendorheader_prodtest_unsigned.bin new file mode 100644 index 000000000..3c7b51f4c Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendorheader_prodtest_unsigned.bin differ diff --git a/core/embed/vendorheader/T3B1/vendorheader_trezor_btconly_unsigned.bin b/core/embed/vendorheader/T3B1/vendorheader_trezor_btconly_unsigned.bin new file mode 100644 index 000000000..3b342ed16 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendorheader_trezor_btconly_unsigned.bin differ diff --git a/core/embed/vendorheader/T3B1/vendorheader_trezor_unsigned.bin b/core/embed/vendorheader/T3B1/vendorheader_trezor_unsigned.bin new file mode 100644 index 000000000..aa102d1f6 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendorheader_trezor_unsigned.bin differ diff --git a/core/embed/vendorheader/T3B1/vendorheader_unsafe_signed_dev.bin b/core/embed/vendorheader/T3B1/vendorheader_unsafe_signed_dev.bin new file mode 100644 index 000000000..b66e48767 Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendorheader_unsafe_signed_dev.bin differ diff --git a/core/embed/vendorheader/T3B1/vendorheader_unsafe_unsigned.bin b/core/embed/vendorheader/T3B1/vendorheader_unsafe_unsigned.bin new file mode 100644 index 000000000..93b03507b Binary files /dev/null and b/core/embed/vendorheader/T3B1/vendorheader_unsafe_unsigned.bin differ diff --git a/python/src/trezorlib/firmware/models.py b/python/src/trezorlib/firmware/models.py index 26f1d1b0b..38c8d0c4c 100644 --- a/python/src/trezorlib/firmware/models.py +++ b/python/src/trezorlib/firmware/models.py @@ -248,22 +248,22 @@ T3T1 = ModelKeys( ) T3B1 = ModelKeys( - production=False, + production=True, boardloader_keys=[ bytes.fromhex(key) for key in ( - "db995fe25169d141cab9bbba92baa01f9f2e1ece7df4cb2ac05190f37fcc1f9d", - "2152f8d19b791d24453242e15f2eab6cb7cffa7b6a5ed30097960e069881db12", - "22fc297792f0b6ffc0bfcfdb7edb0c0aa14e025a365ec0e342e86e3829cb74b6", + "bbc21adbc1b44d6bfe10c5223de33c28429e52680707d3249007ed42dcc5be13", + "22e42a301f3b6ff4f2e6926bce4359e83fc83f0f4a84a7338959c1fd0e29dc13", + "7f478f5fb78d8c054b720d8104bf2f6487e452402458979b5525c290dc344d32", ) ], boardloader_sigs_needed=2, bootloader_keys=[ bytes.fromhex(key) for key in ( - "d759793bbc13a2819a827c76adb6fba8a49aee007f49f2d0992d99b825ad2c48", - "6355691c178a8ff91007a7478afb955ef7352c63e7b25703984cf78b26e21a56", - "ee93a4f66f8d16b819bb9beb9ffccdfcdc1412e87fee6a324c2a99a1e0e67148", + "41d9884801377cff04b0b459fc9b56af1b51f47343a3a6e4fdc1eacabcad7756", + "23ec4ec4674d68ac5431e8ba84d7ac24cb5a66702ec565014d164a72182a66c7", + "8a7dac53e1be46607231920b0c71056a27be16b67a2fc0d8644d5f8708a28dd1", ) ], bootloader_sigs_needed=2,