]> git.proxmox.com Git - efi-boot-shim.git/blob - signature.h
Adopt the UEFI shell style LoadOptions
[efi-boot-shim.git] / signature.h
1 #define SHA256_DIGEST_SIZE 32
2
3 EFI_GUID EfiHashSha1Guid = { 0x826ca512, 0xcf10, 0x4ac9, {0xb1, 0x87, 0xbe, 0x1, 0x49, 0x66, 0x31, 0xbd }};
4 EFI_GUID EfiHashSha256Guid = { 0xc1c41626, 0x504c, 0x4092, {0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 }};
5 EFI_GUID EfiCertX509Guid = { 0xa5c059a1, 0x94e4, 0x4aa7, {0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 }};
6
7 typedef struct {
8 ///
9 /// An identifier which identifies the agent which added the signature to the list.
10 ///
11 EFI_GUID SignatureOwner;
12 ///
13 /// The format of the signature is defined by the SignatureType.
14 ///
15 UINT8 SignatureData[1];
16 } __attribute__ ((packed)) EFI_SIGNATURE_DATA;
17
18 typedef struct {
19 ///
20 /// Type of the signature. GUID signature types are defined in below.
21 ///
22 EFI_GUID SignatureType;
23 ///
24 /// Total size of the signature list, including this header.
25 ///
26 UINT32 SignatureListSize;
27 ///
28 /// Size of the signature header which precedes the array of signatures.
29 ///
30 UINT32 SignatureHeaderSize;
31 ///
32 /// Size of each signature.
33 ///
34 UINT32 SignatureSize;
35 ///
36 /// Header before the array of signatures. The format of this header is specified
37 /// by the SignatureType.
38 /// UINT8 SignatureHeader[SignatureHeaderSize];
39 ///
40 /// An array of signatures. Each signature is SignatureSize bytes in length.
41 /// EFI_SIGNATURE_DATA Signatures[][SignatureSize];
42 ///
43 } __attribute__ ((packed)) EFI_SIGNATURE_LIST;