]> git.proxmox.com Git - efi-boot-shim.git/blame - MokVars.txt
New upstream version 15.3
[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
56State variables:
57
031e5cce 58MokList: A list of authorized keys and hashes. An EFI_SIGNATURE_LIST
5a8d573f
MG
59as described in the UEFI specification. BS,NV
60
61MokListRT: A copy of MokList made available to the kernel at runtime. RT
62
031e5cce 63MokListX: A list of forbidden keys and hashes. An EFI_SIGNATURE_LIST
ab881f03
MTL
64as described in the UEFI specification. BS,NV
65
66MokListXRT: A copy of MokListX made available to the kernel at runtime. RT
67
031e5cce 68MokSBState: An 8-bit unsigned integer. If 1, shim will switch to
5a8d573f
MG
69insecure mode. BS,NV
70
031e5cce 71MokDBState: An 8-bit unsigned integer. If 1, shim will not use db for
72bb39c0
SL
72verification. BS,NV
73
74MokIgnoreDB: An 8-bit unsigned integer. This allows the OS to query whether
75or not to import DB certs for its own verification purposes.
76
031e5cce
SM
77MokPWStore: A SHA-256 representation of the password set by the user
78via MokPW. The user will be prompted to enter this password in order
5a8d573f 79to interact with MokManager.