]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Include/UefiSecureBoot.h
SecurityPkg: UefiSecureBoot: Definitions of cert and payload structures
[mirror_edk2.git] / SecurityPkg / Include / UefiSecureBoot.h
CommitLineData
134fbd55
KQ
1/** @file\r
2 Provides a Secure Boot related data structure definitions.\r
3\r
4 Copyright (c) Microsoft Corporation.\r
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
7**/\r
8\r
9#ifndef UEFI_SECURE_BOOT_H_\r
10#define UEFI_SECURE_BOOT_H_\r
11\r
12#pragma pack (push, 1)\r
13\r
14/*\r
15 Data structure to provide certificates to setup authenticated secure\r
16 boot variables ('db', 'dbx', 'dbt', 'pk', etc.).\r
17\r
18*/\r
19typedef struct {\r
20 //\r
21 // The size, in number of bytes, of supplied certificate in 'Data' field.\r
22 //\r
23 UINTN DataSize;\r
24 //\r
25 // The pointer to the certificates in DER-encoded format.\r
26 // Note: This certificate data should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
27 // for authenticated variables.\r
28 //\r
29 CONST VOID *Data;\r
30} SECURE_BOOT_CERTIFICATE_INFO;\r
31\r
32/*\r
33 Data structure to provide all Secure Boot related certificates.\r
34\r
35*/\r
36typedef struct {\r
37 //\r
38 // The human readable name for this set of Secure Boot key sets.\r
39 //\r
40 CONST CHAR16 *SecureBootKeyName;\r
41 //\r
42 // The size, in number of bytes, of supplied certificate in 'DbPtr' field.\r
43 //\r
44 UINTN DbSize;\r
45 //\r
46 // The pointer to the DB certificates in signature list format.\r
47 // Note: This DB certificates should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
48 // for authenticated variables.\r
49 //\r
50 CONST VOID *DbPtr;\r
51 //\r
52 // The size, in number of bytes, of supplied certificate in 'DbxPtr' field.\r
53 //\r
54 UINTN DbxSize;\r
55 //\r
56 // The pointer to the DBX certificates in signature list format.\r
57 // Note: This DBX certificates should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
58 // for authenticated variables.\r
59 //\r
60 CONST VOID *DbxPtr;\r
61 //\r
62 // The size, in number of bytes, of supplied certificate in 'DbtPtr' field.\r
63 //\r
64 UINTN DbtSize;\r
65 //\r
66 // The pointer to the DBT certificates in signature list format.\r
67 // Note: This DBT certificates should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
68 // for authenticated variables.\r
69 //\r
70 CONST VOID *DbtPtr;\r
71 //\r
72 // The size, in number of bytes, of supplied certificate in 'KekPtr' field.\r
73 //\r
74 UINTN KekSize;\r
75 //\r
76 // The pointer to the KEK certificates in signature list format.\r
77 // Note: This KEK certificates should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
78 // for authenticated variables.\r
79 //\r
80 CONST VOID *KekPtr;\r
81 //\r
82 // The size, in number of bytes, of supplied certificate in 'PkPtr' field.\r
83 //\r
84 UINTN PkSize;\r
85 //\r
86 // The pointer to the PK certificates in signature list format.\r
87 // Note: This PK certificates should not contain the EFI_VARIABLE_AUTHENTICATION_2\r
88 // for authenticated variables.\r
89 //\r
90 CONST VOID *PkPtr;\r
91} SECURE_BOOT_PAYLOAD_INFO;\r
92#pragma pack (pop)\r
93\r
94#endif // UEFI_SECURE_BOOT_H_\r