| #include <common.h> |
| #include <stdint.h> |
| #include <rsa_public_key.h> |
| #include <board_id.h> |
| |
| #define MAX_BOARD_ID SPACECAST_BOARD_ID |
| |
| static int board_id_to_key_index[] = { |
| 0, /* OPTIMUS_BOARD_ID */ |
| 0, /* SIDESWIPE_BOARD_ID */ |
| 1, /* SPACECAST_BOARD_ID */ |
| -1, /* UNASSIGNED_BOARD_ID */ |
| 0, /* OPTIMUS_PRIME_BOARD_ID */ |
| 0, /* SIDESWIPE_PRIME_BOARD_ID */ |
| }; |
| |
| /* |
| * The keys are generated from generate_public_key_code.c |
| */ |
| #ifndef CONFIG_COMCERTO_BOOTLOADER |
| /* Keys to verify the signature of Barebox */ |
| static const struct rsa_public_key public_keys[] = { |
| /* Optimus / Sideswipe */ |
| { .n0inv = 324625445u, |
| .modulus = { |
| 0xdd47e853, 0xcc40a072, 0xccc006f4, 0xc941d763, 0x8f53aa97, 0x26f1e34a, |
| 0xb476f79a, 0xf4aaaaaa, 0x676ae350, 0xd8b0d648, 0x18fc6347, 0x984bb7d3, |
| 0xa894b4a0, 0x51ea64c3, 0xeda9ea3c, 0xdcff20c7, 0x88afc95f, 0xa485fce7, |
| 0xd7010b97, 0x6e821430, 0xf836bbda, 0x004b61fe, 0xcddcc51a, 0x8e2f01f0, |
| 0x92647f40, 0xb60cc2e2, 0x570c6692, 0x40e51f0a, 0x34e9036f, 0x6b56ad55, |
| 0xe4d044e4, 0x2d32bd77, 0xfed334b5, 0x7505311f, 0x98f0fc46, 0xa557619e, |
| 0xb1158093, 0xf3a785c1, 0xf6e77d38, 0xe0e29c9b, 0x3aba8b7f, 0x212ee1f4, |
| 0x636549c6, 0x5bc9597b, 0xf2f35938, 0xf0ab94b7, 0x63519a73, 0x62dd79e6, |
| 0x3e0863f8, 0xf9d67dab, 0x2dbf66b7, 0x45bb69e6, 0xdc3836bb, 0xd253d7f4, |
| 0x975d5f43, 0x40eac67c, 0xd27139fa, 0xb2c73104, 0xced1c1f2, 0x7353f693, |
| 0xee23ed71, 0xc710fdf4, 0x330f3b81, 0xb4a49e97 |
| }, |
| .rr = { |
| 0xc416ec5a, 0x8f35e335, 0x7860fdb6, 0xe3dd9018, 0xb021e1a8, 0x950621cb, |
| 0xb4d3c3e5, 0xe52c0288, 0x25366c47, 0xae481186, 0x8f4f42e4, 0x5203857d, |
| 0x60517eb4, 0xa49474c0, 0x952bdc12, 0xbdba6b4b, 0xac90fe1d, 0xbf7e29f9, |
| 0x41fb4116, 0xc2b9ca56, 0xf48e1cbd, 0xe7f43887, 0xebdf65f6, 0x694773f6, |
| 0x1efd33be, 0x4d7c0c9d, 0xd01b12f9, 0xde65788a, 0x93db7132, 0x8a8e23b1, |
| 0x0faab0b6, 0x7fd78d30, 0xe7e04e64, 0xdd0b2eab, 0xa93630d2, 0x07928be0, |
| 0x4ff324a5, 0x494b52da, 0xbed79044, 0x93d5c5b6, 0xdfb6b89b, 0x3c0ad0f5, |
| 0xdfaf19b6, 0x07d4e67f, 0xba2fc62a, 0x58697a86, 0x1c973e7f, 0x66a26c99, |
| 0x45a0ded5, 0x4f69d633, 0xbe326828, 0xd9d31655, 0x699b6a54, 0x2cb1ee8b, |
| 0x69dcbbc0, 0x9469b4fa, 0xf3b23e6b, 0x886ec86a, 0x2e9410a9, 0xa41074cf, |
| 0xa4c4ca4f, 0xd3ec5963, 0xf36f1929, 0x22bf4a0b |
| } |
| }, |
| |
| /* SpaceCast */ |
| #ifdef CONFIG_RSA_KEY_SET_DEFAULT |
| { .n0inv = 810249397u, |
| .modulus = { |
| 0x6a50de63, 0x3040dda3, 0xb055e6ac, 0x6bf8de72, 0xa4a5ab53, 0x84edb6d8, |
| 0x52fb91aa, 0xb3b17524, 0x7ced643f, 0x887d958f, 0x7e9c74fe, 0xb0501334, |
| 0x27f00dea, 0x2d1521c5, 0xc6ba2dd3, 0x573e8cce, 0x56a69f52, 0x284bee21, |
| 0x0cb26d61, 0x2c336a09, 0x143f9d44, 0x928c224f, 0x5468a697, 0x714b716a, |
| 0x17760fcb, 0xba3a0e45, 0x05ecd6de, 0x5698fad1, 0x5fe3f42b, 0xd81d59bf, |
| 0xb1aa588b, 0x954b54bf, 0x149121cb, 0xb1137ff8, 0x48fe0df8, 0x9c4d3a1f, |
| 0x7ab01207, 0x5090b948, 0xb6438e5d, 0x407aee2e, 0x4f9806e4, 0xf5789b89, |
| 0x03894a74, 0x00326f7c, 0x3798956c, 0xc0d34857, 0xb9c4a166, 0x525f7968, |
| 0x2f7172f6, 0xb45071f5, 0x6dead442, 0x3fcbfc1f, 0x44308880, 0xba7e3fd8, |
| 0xb802d128, 0x786ecc50, 0x2af891f6, 0x80685385, 0xc8695ed2, 0x3ac79fd3, |
| 0xaa18dcc3, 0x75b67ea1, 0xf6ebfd40, 0xd81f9abd |
| }, |
| .rr = { |
| 0xe57d1491, 0x314d95bb, 0xd1934a17, 0x97ff927d, 0x538863de, 0xab32e57b, |
| 0x1d293896, 0x96203ed5, 0xe800e4f4, 0xdc39472d, 0x2b86e9f5, 0x7fd34b1c, |
| 0x941bfd55, 0x7d29bf70, 0xaa23fcbc, 0x76004c4a, 0x2b2c49b5, 0x2cbfd2ac, |
| 0x35fa4ac4, 0x58ce6253, 0xa1776240, 0x3b8a88a7, 0xf3e02089, 0xfcc8b094, |
| 0xa64531b1, 0x738e37ff, 0xecc02cf0, 0xd08b2f83, 0x51a4d213, 0x6a811739, |
| 0x01727767, 0x5b7622b1, 0xc6ca8cca, 0x6b25494c, 0xca958919, 0x99a5515b, |
| 0xaf10e85b, 0xdec2c965, 0x77499264, 0x9d484ef7, 0xd6242f98, 0xe29393b6, |
| 0x685e86be, 0x1a2b9d6e, 0x8fa96dd7, 0xdec3e850, 0x186d5fe8, 0x40967d10, |
| 0x410e5956, 0xd0d6c4e7, 0xec9e2673, 0x3369eff8, 0x6e0a9e38, 0x62f67601, |
| 0x4122d3fc, 0xa7edf9a2, 0xbd1ee5e2, 0x16ed1a09, 0x4ee93acf, 0xe03312ef, |
| 0xe7aac0b6, 0xd61ec12a, 0x2f88804a, 0x66968d4f |
| }, |
| }, |
| #elif defined(CONFIG_RSA_KEY_SET_SPACECAST_PVT) |
| /* key for PVT and later */ |
| { .n0inv = 195283641u, |
| .modulus = { |
| 0x00d0e477, 0xf2c79d07, 0x8e6d89f9, 0xf78e11ab, 0xc12d3843, 0x559d7cbc, |
| 0x6d2af8f0, 0x4acd7f44, 0x6a5efae4, 0x8bfd2668, 0xda9dcf5d, 0xdf4f7a24, |
| 0xc2e6a340, 0xc8f0d8a6, 0x5b805e11, 0x33d9501a, 0xe98ab7a5, 0xa5ea2d40, |
| 0x6abfb309, 0xefc13c55, 0xcf971694, 0xe8c226e8, 0xaee9ab3e, 0x03f7e300, |
| 0x6b02b6b5, 0x9c3d386e, 0x2396a7e9, 0x960c5616, 0x5e20ea20, 0xae450c6d, |
| 0x9bf99a51, 0x3f17fe6e, 0x811c13cf, 0x5fadcb0b, 0xe0dc6477, 0xf36c939f, |
| 0xcf37a23e, 0x664d2446, 0x586912e9, 0x48b405e7, 0x43c30911, 0x926170bd, |
| 0xb4620733, 0x082fafe8, 0x08bcbe39, 0xb7bb54ed, 0xbb24cbbc, 0x7b144d1b, |
| 0x7a1c3fea, 0x8df132d6, 0x0aeffcb3, 0x08bd3182, 0xf933d319, 0x319aecc3, |
| 0xdc366c76, 0xca5d0406, 0x9ec2f529, 0x81b62ee4, 0xaafaa8db, 0xd93fbd7d, |
| 0xec4462be, 0xb0d67c9e, 0x47baac54, 0xe7c44a68 |
| |
| }, |
| .rr = { |
| 0xed50ac6c, 0x253c9b12, 0xf4608904, 0x604dc138, 0xbd6c2924, 0xd139fb32, |
| 0x22e7bf33, 0xccb0c70a, 0x4037f129, 0xb04dd59d, 0x52de2a7f, 0x58686a91, |
| 0xb0a91c3c, 0x194eb38c, 0x33c496cd, 0xd72c196f, 0x8c486bbd, 0xcd55e8b7, |
| 0x02be129b, 0x59abe9f0, 0x75086721, 0x94ce8b3b, 0x2bf564e0, 0x373eadce, |
| 0xd83d0f68, 0x7b76112f, 0x3ea5a135, 0x91c32326, 0x4fab0c72, 0x29c0f214, |
| 0x53181873, 0x863c0247, 0x547d2e95, 0xc930f0ff, 0x446eda28, 0xf55ed8a4, |
| 0xed6f32ee, 0x065fb283, 0xdc7c32d0, 0x4a0c550e, 0xb5520fa8, 0xf84d2d81, |
| 0x85b7a578, 0x0c3f85f4, 0x01263508, 0xa348d505, 0xed6b3914, 0xdcae48fe, |
| 0xe067b525, 0x4e83a3d3, 0x0f9ff305, 0x5aa158dc, 0xea0e7b95, 0xe75d51a3, |
| 0x47cbb29e, 0x32ed0cf7, 0x075f3b6b, 0x9aba0a5c, 0x779a4ce7, 0x78cc852d, |
| 0xfd686bd6, 0x0e66ca26, 0xda579162, 0x5ddf1353 |
| }, |
| }, |
| #else |
| "unknown key set"; |
| #endif |
| }; |
| #else |
| /* Keys to verify the signature of the Linux kernel */ |
| static const struct rsa_public_key public_keys[] = { |
| /* Optimus / Sideswipe (same key as for Barebox) */ |
| { .n0inv = 324625445u, |
| .modulus = { |
| 0xdd47e853, 0xcc40a072, 0xccc006f4, 0xc941d763, 0x8f53aa97, 0x26f1e34a, |
| 0xb476f79a, 0xf4aaaaaa, 0x676ae350, 0xd8b0d648, 0x18fc6347, 0x984bb7d3, |
| 0xa894b4a0, 0x51ea64c3, 0xeda9ea3c, 0xdcff20c7, 0x88afc95f, 0xa485fce7, |
| 0xd7010b97, 0x6e821430, 0xf836bbda, 0x004b61fe, 0xcddcc51a, 0x8e2f01f0, |
| 0x92647f40, 0xb60cc2e2, 0x570c6692, 0x40e51f0a, 0x34e9036f, 0x6b56ad55, |
| 0xe4d044e4, 0x2d32bd77, 0xfed334b5, 0x7505311f, 0x98f0fc46, 0xa557619e, |
| 0xb1158093, 0xf3a785c1, 0xf6e77d38, 0xe0e29c9b, 0x3aba8b7f, 0x212ee1f4, |
| 0x636549c6, 0x5bc9597b, 0xf2f35938, 0xf0ab94b7, 0x63519a73, 0x62dd79e6, |
| 0x3e0863f8, 0xf9d67dab, 0x2dbf66b7, 0x45bb69e6, 0xdc3836bb, 0xd253d7f4, |
| 0x975d5f43, 0x40eac67c, 0xd27139fa, 0xb2c73104, 0xced1c1f2, 0x7353f693, |
| 0xee23ed71, 0xc710fdf4, 0x330f3b81, 0xb4a49e97 |
| }, |
| .rr = { |
| 0xc416ec5a, 0x8f35e335, 0x7860fdb6, 0xe3dd9018, 0xb021e1a8, 0x950621cb, |
| 0xb4d3c3e5, 0xe52c0288, 0x25366c47, 0xae481186, 0x8f4f42e4, 0x5203857d, |
| 0x60517eb4, 0xa49474c0, 0x952bdc12, 0xbdba6b4b, 0xac90fe1d, 0xbf7e29f9, |
| 0x41fb4116, 0xc2b9ca56, 0xf48e1cbd, 0xe7f43887, 0xebdf65f6, 0x694773f6, |
| 0x1efd33be, 0x4d7c0c9d, 0xd01b12f9, 0xde65788a, 0x93db7132, 0x8a8e23b1, |
| 0x0faab0b6, 0x7fd78d30, 0xe7e04e64, 0xdd0b2eab, 0xa93630d2, 0x07928be0, |
| 0x4ff324a5, 0x494b52da, 0xbed79044, 0x93d5c5b6, 0xdfb6b89b, 0x3c0ad0f5, |
| 0xdfaf19b6, 0x07d4e67f, 0xba2fc62a, 0x58697a86, 0x1c973e7f, 0x66a26c99, |
| 0x45a0ded5, 0x4f69d633, 0xbe326828, 0xd9d31655, 0x699b6a54, 0x2cb1ee8b, |
| 0x69dcbbc0, 0x9469b4fa, 0xf3b23e6b, 0x886ec86a, 0x2e9410a9, 0xa41074cf, |
| 0xa4c4ca4f, 0xd3ec5963, 0xf36f1929, 0x22bf4a0b |
| } |
| }, |
| |
| /* SpaceCast */ |
| #ifdef CONFIG_RSA_KEY_SET_DEFAULT |
| { .n0inv = 2823309225u, |
| .modulus = { |
| 0xfc50b367, 0x1fb911d9, 0x288cc6c6, 0x4914e135, 0x1f5b469a, 0x471274cd, |
| 0x21806adc, 0xa139ba92, 0x442f7796, 0x44183483, 0x2c68bad2, 0x6c5ca18a, |
| 0xbafd7213, 0x505fcebf, 0x0979e4b9, 0xa4582dec, 0x10e9e4de, 0x9ca9d12e, |
| 0xeea818ed, 0x9eff1262, 0xab58d203, 0x4095c3fd, 0x4e6e012a, 0x4c39b955, |
| 0xf64e8010, 0x4fc0a794, 0x967cbf92, 0xd39e2d03, 0xe0091a07, 0x140eda30, |
| 0xaf3ac27c, 0xbe82e9ff, 0x729b12ac, 0x98fae091, 0x6350a44a, 0xe10e0548, |
| 0x7fd91960, 0x4b903720, 0x3268a194, 0x6e880413, 0x768b5297, 0x24ce8d88, |
| 0x398356b3, 0x88ca3193, 0x458ecb86, 0xf25696a6, 0xd32c8972, 0x00e876d0, |
| 0x6c5716c3, 0x0efb7e2c, 0xa7d7fac6, 0xf6ef74ac, 0xe2bf77d7, 0x9be3b4e9, |
| 0x0f49d81d, 0x206060e3, 0x2f400bbe, 0x4e2bf784, 0x0a0b38eb, 0xdc4f319f, |
| 0xff1c7f2d, 0x80a57d93, 0xd38f9d6f, 0xc4c0a36b |
| }, |
| .rr = { |
| 0x1e81e6a8, 0x219f1c50, 0x2c0bb2f7, 0x51b3f5ff, 0x7d1af2de, 0x04c70430, |
| 0x67d2309f, 0xa6cae5a0, 0x80f18f2d, 0x1ecd7ef1, 0xbb509a3f, 0xbd37399b, |
| 0x486bd510, 0xf75f543d, 0xaeeea0a4, 0x797d3193, 0x6d88f643, 0x2b2d9034, |
| 0xaecae630, 0xcdfb16ee, 0x063a4148, 0x6ea42094, 0xca7682d4, 0xae7e5d02, |
| 0xe3010c28, 0x4f6dccfe, 0xb213e106, 0x113a5e32, 0x53dfe3f7, 0x86daefad, |
| 0x14d92242, 0xa19f3f5f, 0xb066f02f, 0x1d0f308d, 0x5602a6c1, 0x76ddf03e, |
| 0x978483d1, 0x0622cbe5, 0x0e5e2772, 0x88570f42, 0xeea9bbdc, 0xc12b4991, |
| 0xc4e63516, 0xf8e8707a, 0xecdee3bd, 0xc25c2079, 0x481f382f, 0x563c502b, |
| 0x1a341fd2, 0x8e2d10e4, 0xb2c60249, 0x3235d027, 0x32df7140, 0x9ffce524, |
| 0x1c8d6bf7, 0x003941ad, 0x74bf0d98, 0x18e77f88, 0xd8b38212, 0xc9b52ba2, |
| 0x137b5417, 0x114fddce, 0x096edf7c, 0x636ba76b |
| }, |
| }, |
| #elif defined(CONFIG_RSA_KEY_SET_SPACECAST_PVT) |
| /* key for PVT and later */ |
| { .n0inv = 3300387007u, |
| .modulus = { |
| 0x53c078c1, 0xb526325e, 0x35fc4264, 0xe521532c, 0xffffdae7, 0x13a83684, |
| 0x75a8dec3, 0x486c1103, 0x83413d5a, 0x5ff7284d, 0xe3edf2e3, 0xacdcfb69, |
| 0x47ff89fe, 0x2e4d6ce2, 0x8d408fb4, 0x18a1b7dc, 0x036b01d0, 0x96a9d88b, |
| 0x5a3f7f84, 0xa009556c, 0xdf7708a3, 0xdcb9a46c, 0x1098a771, 0x1d9a3950, |
| 0x5626f4fe, 0xa29a38b7, 0xef474395, 0x068c6b19, 0x0627915e, 0x6408316e, |
| 0xb8846e9f, 0x424d2353, 0x3459056c, 0xd4644766, 0xcbdd903e, 0x4ad11c03, |
| 0xcca5bae0, 0x39dc5fec, 0xd6a8c26f, 0x9db73de0, 0xbe8e7a02, 0x7867afb7, |
| 0xed12ea6c, 0x5389af08, 0x368253d6, 0xbdb7e3e7, 0x53a496c4, 0xe1887844, |
| 0xdf8c426b, 0x4eea6d02, 0x1a1a5a5a, 0x1c9cca85, 0x3ef25ef7, 0x7bda5b27, |
| 0xbb4a5a16, 0xdabee40a, 0x0dca1b83, 0xf520ca76, 0x7ac8dccd, 0x8499df2d, |
| 0x88d03426, 0x7284ac78, 0x61b59b11, 0xca19e021 |
| }, |
| .rr = { |
| 0xa7cc85bf, 0xca308e0b, 0x983bd433, 0x91f76e99, 0x0163f6a6, 0x7cb98262, |
| 0xc252aedd, 0x01903495, 0xf3f4de55, 0x755ef407, 0xedc0f2e2, 0x7d298f3f, |
| 0x82513afd, 0x6c54a8a6, 0xb1039a7e, 0xbfd15569, 0x6a5a5ebc, 0xfbfd8266, |
| 0xda34f5c1, 0x03109310, 0xca683a32, 0xb884a224, 0x8b9e4529, 0x2ffed4e5, |
| 0x40599ce2, 0x73209335, 0x3b0799c8, 0x999a1bc7, 0x361413ce, 0xdbbfaf96, |
| 0xc26caaff, 0x6f829819, 0x49752b3d, 0x658f6b37, 0x388085c4, 0x5d1d7315, |
| 0xf20aa1e6, 0x4bb531f4, 0x51522975, 0x5bfddd05, 0x1a424abf, 0xb4ba7969, |
| 0xf13c8e57, 0x7eae1284, 0x510a90b6, 0xf64f59e4, 0x98634700, 0xcb0bf35e, |
| 0xcb739554, 0xaaae12fe, 0xa13dbc63, 0xac13a4c4, 0x2c264027, 0x1557ff1a, |
| 0x4d8e21ad, 0x91dcc873, 0xe870d738, 0x796a04cd, 0x9f81f3a2, 0xa8a6e714, |
| 0xfcc78693, 0xe8fdab84, 0x52a65ac1, 0x08ca4927 |
| }, |
| }, |
| #else |
| "unknown key set"; |
| #endif |
| }; |
| #endif |
| |
| #ifdef CONFIG_COMCERTO_BOOTLOADER |
| /* Keys to verify the signature of a recovery image */ |
| static const struct rsa_public_key recovery_keys[] = { |
| /* Optimus / Sideswipe */ |
| { |
| }, |
| |
| /* SpaceCast */ |
| { .n0inv = 2795114361u, |
| .modulus = { |
| 0xe17fd537, 0xa3c8cb00, 0x932ee36d, 0xc73c251a, 0xfab26fa4, 0x60c7ab00, |
| 0x1468dbfd, 0xcff11b21, 0xcff22a1d, 0x98057ec2, 0x052fc7ea, 0x8adc183c, |
| 0xcb273fca, 0xca676ea5, 0x32ec71b3, 0xf85c1297, 0xd1361b2f, 0x3b042ba7, |
| 0x6f1298a3, 0x3cbb1ec3, 0xf3f3236f, 0xc5911a46, 0x5763bb53, 0x8245bffc, |
| 0xca4164d8, 0xc1bf0062, 0x85471268, 0x68a0c01d, 0x3c296f90, 0xabd8d75d, |
| 0xe23924fa, 0xcc5662cf, 0x77a4d814, 0x113c5183, 0x31e559ba, 0xb6c08aa4, |
| 0x22a2bef9, 0x313739a1, 0xa8a57320, 0xab7241eb, 0x9e0c9dea, 0x01c255eb, |
| 0xe40b3989, 0x2f01f596, 0x8356d053, 0x78e23be2, 0x8f0d9f9f, 0x09022096, |
| 0x34a371a4, 0x0920ec0a, 0x5436f15d, 0x747537ec, 0xaf363081, 0xdbb6cc2e, |
| 0x229d8b82, 0x4b9b298c, 0x7bf3f4c9, 0xf2447fb3, 0xf95c482f, 0x4413e804, |
| 0x122bab97, 0x4f99ee1e, 0x148b2564, 0xad1c425d |
| }, |
| .rr = { |
| 0xb5e135c2, 0xe5d20b16, 0xd657f9f6, 0xe957d210, 0x9dfd33c9, 0x71bedfc7, |
| 0xeb570397, 0x356df96e, 0x30d89660, 0x90f4f10a, 0x88113810, 0x785cf0e1, |
| 0xb14858e8, 0xd7aeba86, 0xc7995ce2, 0x14872d4e, 0x1d87cf00, 0xa97490ff, |
| 0x8c4bdf64, 0x61dcbe9d, 0x989499eb, 0x4bd61725, 0x9625bf64, 0x288391af, |
| 0xbfaa0134, 0xf90b0d27, 0x951a1bd2, 0xa9f5468f, 0x76e41638, 0xefcb50f4, |
| 0xaa8eec52, 0x0421f434, 0xbf89794f, 0x08ed9a86, 0x9808d3e7, 0xc34c72f8, |
| 0xd25c759a, 0x10d0442c, 0x35e606fc, 0x977e88e8, 0x2c3b4f81, 0x973bcf11, |
| 0x7704760d, 0xbba4cbcd, 0xf0fe3a2b, 0x76813378, 0x90791b81, 0xad678e73, |
| 0x8620d2cc, 0x3fa28ae1, 0xdf9f91c3, 0xba2fa335, 0x4dffb2c0, 0x61c27230, |
| 0x98665fe1, 0x6378d57b, 0xcbb52ffd, 0xecda0f98, 0x69635ba9, 0xe9f2d4a1, |
| 0x8ae1b8d7, 0x079a8d27, 0x62294cff, 0x75017f67 |
| }, |
| }, |
| }; |
| #endif |
| |
| static int get_key_id(int board_id) { |
| if ((board_id < 0) || (board_id > MAX_BOARD_ID)) { |
| printf("Invalid board ID: %d\n", board_id); |
| return -1; |
| } |
| |
| return board_id_to_key_index[board_id]; |
| } |
| |
| int rsa_get_public_key(int board_id, const struct rsa_public_key **key) { |
| int index = get_key_id(board_id); |
| if (index < 0) { |
| return -1; |
| } |
| |
| *key = &public_keys[index]; |
| |
| return 0; |
| } |
| |
| #ifdef CONFIG_COMCERTO_BOOTLOADER |
| int rsa_get_recovery_key(int board_id, const struct rsa_public_key **key) { |
| int index = get_key_id(board_id); |
| if (index < 0) { |
| return -1; |
| } |
| |
| *key = &recovery_keys[index]; |
| |
| return 0; |
| } |
| #endif |