28 lines
1.4 KiB
C
28 lines
1.4 KiB
C
/* meow_signing_pub.h — 固件公钥(Ed25519 32B,编译期固化进 meow_verify)。
|
||
* 由 `meow_sign keygen` 生成(.keys/signing.key.pub),本头只含【公钥】,可入库;
|
||
* 私钥仅在 .keys/(已加入 .gitignore,绝不入库/报告)。
|
||
*
|
||
* 2B 多钥兼容(MPK_SIGNATURE_DESIGN §4.3 轮换铺路):固件内嵌**公钥数组**,验签时任一公钥通过即放行。
|
||
* 轮换/增补公钥=重写本头数组(g_meow_pub[MEOW_PUB_KEY_COUNT][])+重编 meow_verify(固件更新)。
|
||
* 保持旧钥在数组前部可作「跨代兼容」(旧钥签的包在新固件仍验过);从尾部追加新钥;
|
||
* 若某钥彻底作废,从数组移除即可(注意:会令旧钥签的包在新固件拒装——轮换需与包重签协同)。
|
||
* MEOW_PUB_KEY_COUNT 为当前内嵌公钥数(可增)。 */
|
||
#ifndef MEOW_SIGNING_PUB_H
|
||
#define MEOW_SIGNING_PUB_H
|
||
|
||
#include <stdint.h>
|
||
|
||
#define MEOW_PUB_KEY_COUNT 1 /* 当前固件内嵌公钥数;增补即在数组追加并 +1、重编 meow_verify */
|
||
|
||
static const uint8_t g_meow_pub[MEOW_PUB_KEY_COUNT][32] =
|
||
{
|
||
{ /* key #0:维护者主钥(.keys/signing.key.pub;与 2A 同钥,跨代兼容) */
|
||
0x22, 0xa7, 0x83, 0xac, 0x28, 0xd3, 0x25, 0x6d,
|
||
0x3f, 0x84, 0x72, 0x72, 0x50, 0x5b, 0x2c, 0x61,
|
||
0x60, 0x97, 0xff, 0xc3, 0x98, 0x78, 0x14, 0x9d,
|
||
0xc7, 0x37, 0x8c, 0x58, 0x72, 0x26, 0x37, 0xf2
|
||
}
|
||
};
|
||
|
||
#endif /* MEOW_SIGNING_PUB_H */
|