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