mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-06-27 02:12:35 +00:00
bootloader: introduce keymask
This commit is contained in:
parent
78d82386d1
commit
b28fd6327f
@ -48,28 +48,31 @@ bool parse_header(const uint8_t *data, uint32_t *codelen, uint8_t *sigidx, uint8
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint8_t *SL_PUBKEY[5] = {
|
#define KEYMASK(A, B, C) ((1 << (A - 1)) | (1 << (B - 1)) | (1 << (C - 1)))
|
||||||
(const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
||||||
(const uint8_t *)"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
|
|
||||||
(const uint8_t *)"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",
|
|
||||||
(const uint8_t *)"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
|
|
||||||
(const uint8_t *)"EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint8_t *get_pubkey(uint8_t index)
|
const uint8_t *get_pubkey(uint8_t index)
|
||||||
{
|
{
|
||||||
// TODO: compute combinations of pubkeys from index
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 0x01:
|
case KEYMASK(1, 2, 3):
|
||||||
return SL_PUBKEY[0];
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
case 0x02:
|
case KEYMASK(1, 2, 4):
|
||||||
return SL_PUBKEY[1];
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
case 0x04:
|
case KEYMASK(1, 2, 5):
|
||||||
return SL_PUBKEY[2];
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
case 0x08:
|
case KEYMASK(1, 3, 4):
|
||||||
return SL_PUBKEY[3];
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
case 0x10:
|
case KEYMASK(1, 3, 5):
|
||||||
return SL_PUBKEY[4];
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
case KEYMASK(1, 4, 5):
|
||||||
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
case KEYMASK(2, 3, 4):
|
||||||
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
case KEYMASK(2, 3, 5):
|
||||||
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
case KEYMASK(2, 4, 5):
|
||||||
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
case KEYMASK(3, 4, 5):
|
||||||
|
return (const uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user