]> git.proxmox.com Git - efi-boot-shim.git/blame - MokVars.txt
Update copyright file
[efi-boot-shim.git] / MokVars.txt
CommitLineData
da1e6d75
MG
1Variables used by Shim and Mokmanager
2
3Request variables:
4
a6c726fc
PJ
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
da1e6d75
MG
9into MokPWState. BS,RT,NV
10
a6c726fc 11MokSB: Set by MokUtil when requesting a change in state of signature
da1e6d75
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
a6c726fc
PJ
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
da1e6d75
MG
26according to MokSBState. BS,RT,NV
27
a6c726fc 28MokDB: Set by MokUtil when requesting a change in state of validation
ef0383d0
JB
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
a6c726fc
PJ
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
ef0383d0
JB
43according to MokDBState. BS,RT,NV
44
a6c726fc
PJ
45MokNew: Set by MokUtil when requesting the addition or removal of keys
46from MokList. Is an EFI_SIGNATURE_LIST as described in the UEFI
da1e6d75
MG
47specification. BS,RT,NV
48
a6c726fc
PJ
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
da1e6d75
MG
54matches MokAuth, the user will be prompted to enrol the keys. BS,RT,NV
55
56State variables:
57
25c83246 58MokList: A list of authorized keys and hashes. An EFI_SIGNATURE_LIST
da1e6d75
MG
59as described in the UEFI specification. BS,NV
60
61MokListRT: A copy of MokList made available to the kernel at runtime. RT
62
25c83246 63MokListX: A list of forbidden keys and hashes. An EFI_SIGNATURE_LIST
9abedc47
PJ
64as described in the UEFI specification. BS,NV
65
66MokListXRT: A copy of MokListX made available to the kernel at runtime. RT
67
a6c726fc 68MokSBState: An 8-bit unsigned integer. If 1, shim will switch to
da1e6d75
MG
69insecure mode. BS,NV
70
a6c726fc 71MokDBState: An 8-bit unsigned integer. If 1, shim will not use db for
ef0383d0
JB
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
a6c726fc
PJ
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
da1e6d75 79to interact with MokManager.