微修正&PEM追加

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@300 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
yutaka 2009-02-17 11:38:53 +00:00
parent 22708942ef
commit 0631caae1e
2 changed files with 43 additions and 8 deletions

View File

@ -69,8 +69,8 @@ typedef struct FirmHeaderCore
{
u32 magicNumber;
u32 versionNumber;
u32 entryAddressForMPCore; // modules対象番地以外はエラー (MPCoreにPIF経由で通知する)
u32 entryAddressForARM9; // A9-WRAM内、かつmodules対象番地以外はエラー
void* entryAddressForMPCore; // modules対象番地以外はエラー (MPCoreにPIF経由で通知する)
void* entryAddressForARM9; // A9-WRAM内、かつmodules対象番地以外はエラー
u8 padding[48]; // modulesに加えても良いが保険で空けておく
FirmModule modules[FIRM_FORMAT_MAX_MODULES]; // 何番目をどこにおいても自由 (A9-WRAMが最後?)
}

View File

@ -32,22 +32,25 @@ extern "C" {
#define FIRM_FORMAT_NAND_HEADER_OFFSET 0x1000
#define FIRM_FORMAT_NAND_AES_KEY { \ // SEED/IDは使わない
// SEED/IDは使わない
#define FIRM_FORMAT_NAND_AES_KEY { \
0x2d, 0xde, 0x7a, 0x57, 0x9b, 0xe2, 0xf0, 0x37, 0x9d, 0xa9, 0x35, 0xbe, 0x83, 0x33, 0x15, 0x95 \
}
#define FIRM_FORMAT_NAND_AES_COUNTER { \ // オフセット0での値
// オフセット0での値
#define FIRM_FORMAT_NAND_AES_COUNTER { \
0xbe, 0x30, 0x61, 0x15, 0xb0, 0x38, 0x27, 0x45, 0x20, 0x25, 0x72, 0x54, 0x28, 0x4e, 0x1f, 0x20 \
}
#define FIRM_FORMAT_HMAC_KEY { \ //
#define FIRM_FORMAT_HMAC_KEY { \
0xbc, 0xef, 0xb3, 0xc8, 0x71, 0x2c, 0xd3, 0x89, 0xaa, 0x30, 0xb9, 0x07, 0x64, 0x1d, 0xa3, 0x7d, \
0x6a, 0x50, 0x5e, 0x73, 0xbc, 0x32, 0xa5, 0xb0, 0x91, 0xd3, 0xcb, 0xc3, 0xef, 0x03, 0xc7, 0xa1, \
0xb3, 0xee, 0x52, 0xac, 0x4a, 0x54, 0x6e, 0x0d, 0x5e, 0x21, 0xcf, 0x0a, 0xd1, 0x00, 0xb3, 0x60, \
0xe2, 0x5e, 0xa2, 0xe8, 0x26, 0x16, 0xc3, 0xb0, 0x9e, 0x1b, 0xbd, 0x1a, 0x85, 0x03, 0xca, 0xe8 \
}
#define FIRM_FORMAT_RSA_PRIVATE_EXPONENT { \ // ビッグエンディアンなので注意!
// ビッグエンディアンなので注意!
#define FIRM_FORMAT_RSA_PRIVATE_EXPONENT { \
0x12, 0x7e, 0xea, 0x6a, 0x61, 0x33, 0x9e, 0x62, 0xdf, 0xd2, 0x85, 0xa8, 0x19, 0x01, 0x7f, \
0x60, 0xda, 0x76, 0x76, 0xbf, 0x03, 0xec, 0xdb, 0x0d, 0x91, 0xad, 0x42, 0x63, 0x55, 0x1b, \
0x2f, 0x18, 0xcb, 0x6c, 0x4b, 0x5b, 0xb4, 0x3c, 0x92, 0x18, 0x88, 0x9f, 0xea, 0x43, 0x5f, \
@ -68,9 +71,11 @@ extern "C" {
0x99 \
}
#define FIRM_FORMAT_RSA_PUBLIC_EXPONENT 0x10001 // リトルエンディアン
// リトルエンディアン
#define FIRM_FORMAT_RSA_PUBLIC_EXPONENT 0x10001
#define FIRM_FORMAT_RSA_MODULUS { \ // ビッグエンディアン
// ビッグエンディアン
#define FIRM_FORMAT_RSA_MODULUS { \
0xb3, 0xec, 0xe2, 0x11, 0x63, 0x98, 0x79, 0x8a, 0x35, 0xef, 0x90, 0x88, 0xbe, 0xf7, \
0xd8, 0x44, 0x2a, 0x13, 0xba, 0xbe, 0xee, 0xdb, 0x85, 0x20, 0x84, 0x58, 0x29, 0x0f, 0xc0, \
0x1a, 0xe9, 0x3c, 0xdb, 0x38, 0x61, 0xe2, 0xb9, 0xac, 0x91, 0x0b, 0xeb, 0xcd, 0x30, 0xe0, \
@ -91,6 +96,36 @@ extern "C" {
0x5c, 0xaf \
}
// PEM
#define FIRM_FORMAT_RSA_PRIVATE_PEM \
"-----BEGIN RSA PRIVATE KEY-----\n" \
"MIIEogIBAAKCAQEAs+ziEWOYeYo175CIvvfYRCoTur7u24UghFgpD8Aa6TzbOGHi\n" \
"uayRC+vNMOC1N85UAzfgzbXFn3FDTHndxIEEYwhcORK2m6l13IKBt/8GmcoYALDY\n" \
"/PDhkhpZJVJkhh7AuVKJB1MXk4L5QwUmAMiK0FfdV0bhcTva7fnBK+/x/lkf4kgn\n" \
"+a0DjXn13Rqr3OJnI7Xufc5tySUCCUiGX/PXtlThRRqrF5N7VdsrTmzYK0gYUsFi\n" \
"ehTCzSY90zOokFze/B6ZGMmzTEfdakTVzKZneIbVsKSaLQ5DGbdKg+sKSnG1S2jY\n" \
"wEwFFe7olRyyUNx6CPHqplpfPqXj+Ql/cnhcrwIDAQABAoIBABJ+6mphM55i39KF\n" \
"qBkBf2Dadna/A+zbDZGtQmNVGy8Yy2xLW7Q8khiIn+pDXz2iXy6JgvmCkxMl4IYv\n" \
"DOYTYTEQ/fH8A3uS+wO1AsK4W6RZiwgfJd8yn+2V+c4FX0IOTT9/xYhUOVs3nooO\n" \
"MG7qLqLmNWGwbqJmRcYq43mxy82ajXZDMlAtNUJgyyZPVICzwLjTswkHmOCc2GLL\n" \
"K8pPKNYiBLpaPrTN86iKN+caHX8vYeFVb7P06GPq1f0XBcpNbf4cKD8T5ftbuxsE\n" \
"OeVNTZ1Eddfge7wAa4gJZF0lJVASgFw0y7fpvViM0r7jjys0C9hF2wLoUPay0gLd\n" \
"uR6e+pkCgYEA7pMODbjP/8Kzy0hB794GUbnms+ZHhrbBeu7pr8yyBcua2fuWti60\n" \
"2HZxW9UuIOKON7F7kyyhnuNwSktjTpe8UrS8IbC6IvG6mY2iQJdUpkB2ZETtHJnp\n" \
"MmfhtN5W0Ucc7jtvTUFEjJTPMNaAj8TwjLSfxW6edGrmGhoO6dntvz0CgYEAwREv\n" \
"+RDjfwA8oKQHLSfZ3ROcixWVf3C2jkxun6X0X0zsAKlGNLVRYD3YheUpaegPmdky\n" \
"AsbB+aohMDfJjd2Z9oD8T7BA7CZaGcS4lnEyyeYsXkGjq3WTWztHrj/zM/0k9VGE\n" \
"bzxmOwx/ik7+s9OA9S7dejFWdu3mmMAFCN9BClsCgYBxYmx8cwhPyo4+n7HOuVuR\n" \
"feO6PkhiKvtbXK6tgYBeJr0KunqPTTVf5zLK7U9GC8aBi5VqhfyuEfPtK1UgJhc3\n" \
"y3PaIy7jqrT/g4PIZOOzO9HIp8V1IWTmMt7fYggq4DxMsOyd79YPZi3uTRO+wF9+\n" \
"z91bLM6cD64aW6YY2B0ZFQKBgAGt3pbx+KiQHfbftlhEMnbjxsbG50f2eP//1i55\n" \
"SQjTKHJRBpVKxmxp3Uo81gFfzVLvOqofhGxheGxs78nWFZK5SHiA9e+X3cy/k0Nr\n" \
"tJ9g6x3ewEerfB6dA2CWmczn9LxVeytkgRceYrWXPkveGQ8I21BGwZPDOfA2K1UK\n" \
"bAxlAoGAOiCjTFfmNAiV5YvUcS1jDsfgrPVQTf61S2lBkZgENs6NeUDYoCpSLKvm\n" \
"oO0bdydo0xiL+2NnhY9pJQAFvB0IbPXmjkPOGkRBf5O/Z4cQiLkcCK+d9gRobF8W\n" \
"dZxuCOMtr6Li8WYxxQvDM+qOs2Rb0r0/JcP0KctK1jbPwXq26aU=\n" \
"-----END RSA PRIVATE KEY-----\n"
#ifdef __cplusplus
} /* extern "C" */