1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-26 13:52:21 +00:00

Fusee: Fix BisPartition enum to correctly identify partitions.

* BisPartition_t was missing SAFE, meaning User and System were using wrong key_source

* Normalize tabs to spaces

* Merge User and System BisPartition_t because they are the same key anyway

* Remove extra newline
This commit is contained in:
Rajko Stojadinovic 2018-04-25 18:47:39 +02:00 committed by SciresM
parent b6b8ca0eac
commit 4e1c12a659
2 changed files with 4 additions and 5 deletions

View file

@ -195,14 +195,13 @@ void derive_bis_key(void *dst, BisPartition_t partition_id, u32 target_firmware)
};
static const u8 bis_kek_source[0x10] = {0x34, 0xC1, 0xA0, 0xC4, 0x82, 0x58, 0xF8, 0xB4, 0xFA, 0x9E, 0x5E, 0x6A, 0xDA, 0xFC, 0x7E, 0x4F};
switch (partition_id) {
case BisPartition_Calibration:
fusee_generate_specific_aes_key(dst, key_source_for_bis[partition_id][0], false, target_firmware);
fusee_generate_specific_aes_key(dst + 0x10, key_source_for_bis[partition_id][1], false, target_firmware);
break;
case BisPartition_User:
case BisPartition_System:
case BisPartition_Safe:
case BisPartition_UserSystem:
fusee_generate_personalized_aes_key_for_bis(dst, bis_kek_source, key_source_for_bis[partition_id][0], target_firmware);
fusee_generate_personalized_aes_key_for_bis(dst + 0x10, bis_kek_source, key_source_for_bis[partition_id][1], target_firmware);
break;

View file

@ -16,8 +16,8 @@
typedef enum {
BisPartition_Calibration = 0,
BisPartition_User = 1,
BisPartition_System = 2
BisPartition_Safe = 1,
BisPartition_UserSystem = 2
} BisPartition_t;
typedef struct {