]> git.proxmox.com Git - efi-boot-shim.git/blame - MokVars.txt
Force usage of newest revocations at build time
[efi-boot-shim.git] / MokVars.txt
CommitLineData
5a8d573f
MG
1Variables used by Shim and Mokmanager
2
3Request variables:
4
031e5cce
SM
5MokPW: Set by MokUtil when setting a password. A SHA-256 hash of the
6UCS-2 representation of the password. The user will be asked to
7re-enter the password to confirm. If the hash of the entered password
8matches the contents of MokPW, the user will be prompted to copy MokPW
5a8d573f
MG
9into MokPWState. BS,RT,NV
10
031e5cce 11MokSB: Set by MokUtil when requesting a change in state of signature
5a8d573f
MG
12validation. A packed structure as follows:
13
14typedef struct {
15 UINT32 MokSBState;
16 UINT32 PWLen;
17 CHAR16 Password[PASSWORD_MAX];
18} __attribute__ ((packed)) MokSBvar;
19
031e5cce
SM
20If MokSBState is 0, the user will be prompted to disable signature
21validation. Otherwise, the user will be prompted to enable it. PWLen
22is the length of the password, in characters. Password is a UCS-2
23representation of the password. The user will be prompted to enter
24three randomly chosen characters from the password. If successful,
25they will then be prompted to change the signature validation
5a8d573f
MG
26according to MokSBState. BS,RT,NV
27
031e5cce 28MokDB: Set by MokUtil when requesting a change in state of validation
72bb39c0
SL
29using db hashes and certs. A packed structure as follows:
30
31typedef struct {
32 UINT32 MokDBState;
33 UINT32 PWLen;
34 CHAR16 Password[PASSWORD_MAX];
35} __attribute__ ((packed)) MokDBvar;
36
031e5cce
SM
37If MokDBState is 0, the user will be prompted to disable usage of db for
38validation. Otherwise, the user will be prompted to allow it. PWLen
39is the length of the password, in characters. Password is a UCS-2
40representation of the password. The user will be prompted to enter
41three randomly chosen characters from the password. If successful,
42they will then be prompted to change the signature validation
72bb39c0
SL
43according to MokDBState. BS,RT,NV
44
031e5cce
SM
45MokNew: Set by MokUtil when requesting the addition or removal of keys
46from MokList. Is an EFI_SIGNATURE_LIST as described in the UEFI
5a8d573f
MG
47specification. BS,RT,NV
48
031e5cce
SM
49MokAuth: A hash dependent upon the contents of MokNew and the sealing
50password. The user's password in UCS-2 form should be appended to the
51contents of MokNew and a SHA-256 hash generated and stored in MokAuth.
52The hash will be regenerated by MokManager after the user is requested
53to enter their password to confirm enrolment of the keys. If the hash
5a8d573f
MG
54matches MokAuth, the user will be prompted to enrol the keys. BS,RT,NV
55
fd2d9f03
SM
56ShimRetainProtocol: UINT8, read by Shim before uninstalling protocol.
57If set to non-zero, Shim will keep the protocol in place. It can be
58used by second stages to ensure the protocol is still available for
59later stages, and can thus be used to verify additional PE files. BS,RT.
60
5a8d573f
MG
61State variables:
62
031e5cce 63MokList: A list of authorized keys and hashes. An EFI_SIGNATURE_LIST
5a8d573f
MG
64as described in the UEFI specification. BS,NV
65
66MokListRT: A copy of MokList made available to the kernel at runtime. RT
67
031e5cce 68MokListX: A list of forbidden keys and hashes. An EFI_SIGNATURE_LIST
ab881f03
MTL
69as described in the UEFI specification. BS,NV
70
71MokListXRT: A copy of MokListX made available to the kernel at runtime. RT
72
031e5cce 73MokSBState: An 8-bit unsigned integer. If 1, shim will switch to
5a8d573f
MG
74insecure mode. BS,NV
75
031e5cce 76MokDBState: An 8-bit unsigned integer. If 1, shim will not use db for
72bb39c0
SL
77verification. BS,NV
78
79MokIgnoreDB: An 8-bit unsigned integer. This allows the OS to query whether
80or not to import DB certs for its own verification purposes.
81
031e5cce
SM
82MokPWStore: A SHA-256 representation of the password set by the user
83via MokPW. The user will be prompted to enter this password in order
5a8d573f 84to interact with MokManager.
8529e0f7
SM
85
86MokListTrusted: An 8-bit unsigned integer. If 1, it signifies to Linux
87to trust CA keys in the MokList. BS,NV
88
89MokListTrustedRT: A copy of MokListTrusted made available to the kernel
90at runtime. RT