44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#ifndef MOK_H
|
|
#define MOK_H
|
|
|
|
#include <efi.h>
|
|
|
|
/* MOK variables GUID */
|
|
#define MOK_GUID \
|
|
{ 0x605dab50, 0xe046, 0x4300, \
|
|
{0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} }
|
|
|
|
/* EFI X.509 certificate type GUID (used in EFI_SIGNATURE_LIST) */
|
|
#define EFI_CERT_X509_GUID \
|
|
{ 0xa5c059a1, 0x94e4, 0x4aa7, \
|
|
{0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72} }
|
|
|
|
/*
|
|
* Owner GUID embedded in EFI_SIGNATURE_DATA when enrolling.
|
|
* Spells "NETIPXEBOOT" in ASCII — arbitrary but stable identifier.
|
|
*/
|
|
#define MOK_OWNER_GUID \
|
|
{ 0x4e455449, 0x504f, 0x5854, \
|
|
{0x49, 0x50, 0x58, 0x45, 0x42, 0x4f, 0x4f, 0x54} }
|
|
|
|
#define MOK_ATTRS \
|
|
(EFI_VARIABLE_NON_VOLATILE | \
|
|
EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
|
EFI_VARIABLE_RUNTIME_ACCESS)
|
|
|
|
#pragma pack(1)
|
|
typedef struct {
|
|
EFI_GUID SignatureType;
|
|
UINT32 SignatureListSize;
|
|
UINT32 SignatureHeaderSize;
|
|
UINT32 SignatureSize;
|
|
} MOK_SIG_LIST;
|
|
|
|
typedef struct {
|
|
EFI_GUID SignatureOwner;
|
|
/* followed by variable-length cert/data bytes */
|
|
} MOK_SIG_DATA;
|
|
#pragma pack()
|
|
|
|
#endif /* MOK_H */
|