Age | Commit message (Collapse) | Author |
|
Update this to match the new mokutil behaviour
|
|
A cut and paste error meant that attempts to delete MokList were instead
appending a zero-length addition.
|
|
The pointer to the certificate needs to be incremented by the size of the
entire certificate, not just the certificate data.
|
|
We were drawing prompts on top of existing text, which was less than
ideal.
|
|
There's no point in printing the SHA1 of a SHA256...
|
|
Reduce menu redrawing by only redrawing the invalidated section of the menu
during the timeout countdown.
|
|
Add support for setting an MOK password. The OS passes down a password hash.
MokManager then presents an option for setting a password. Selecting it
prompts the user for the same password again. If they match, the hash is
enrolled into a boot services variable and MokManager will prompt for the
password whenever it's started.
|
|
If a callback returns any kind of failure, wait for a keypress in order to
give the user an opportunity to read any failure messages.
|
|
Provide a mechanism for a physically present end user to disable signature
verification. This is handled by the OS passing down a variable that
contains a UINT32 and a SHA256 hash. If this variable is present, MokManager
prompts the user to choose whether to enable or disable signature validation
(depending on the value of the UINT32). They are then asked to type the
passphrase that matches the hash. This then saves a boot services variable
which is checked by shim, and if set will skip verification of signatures.
|
|
Provide a little more contextual information when people are in shim
menus.
|
|
The size of the DevPath string array was not sufficient to append
the volume label. This patch extends the size for the label and
re-enables the menu freeing.
|
|
Using the same format as the UEFI key databases makes it easier for the
kernel to parse and extract keys from MOK, and also permits MOK to contain
multiple key or hash types. Additionally, add support for enrolling hashes.
|
|
Add a basic header to the menu to make it clearer what's going on.
Define SHIM_VENDOR in order to override the default.
|
|
|
|
We should time out if there aren't any keypresses at the top level menu
within a reasonable timeframe.
|
|
|
|
The newline character shouldn't be present in the menu item string
|
|
The size of MokNew was missing and it caused crash when enrolling new MOKs
with mokutil
|
|
|
|
|
|
The filesystem callback was failing to account for the additional menu
item to return to the filesystem list, and so the last file entry in the
root directory would be missing from the list.
|
|
We would always enrol a single key, deleting any existing keys in the
database. Fix that up.
|
|
If the user is manually installing keys from a filesystem then we don't need
to ask for the key password.
|
|
Packing this lets us use MokListNode with the binary MokList representation.
|
|
This looks like it ought to work, but is currently failing. Leaking here
isn't a big deal, so just disable it until I figure out what's wrong.
|
|
Menucount wasn't being incremented for the final top level menu, so
the file explorer menu item wasn't appearing.
|
|
Make sure we free menu items after exiting a menu. Also, add some missing
static annotations.
|
|
Only show the MOK manipulation menu item if MokNew existed
|
|
If someone explicitly starts MokManager then we want to show the UI
|
|
Add a basic menu system and file explorer. This makes it possible for the
user to enrol keys from media from within shim rather than having to boot
an OS first. This would permit vendors to distribute a signed shim without
having to install their own keys first - the keys could be stored on the
install media instead.
|
|
|
|
|
|
|
|
|
|
openssl shows sha1 fingerprint by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The password must contain 8 characters at least and 16 characters
at most and will be hashed with the key list altogether. The keys
in MokNew won't be allowed to be enrolled unless the user provides
the correct password.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Move the key list building and management to mokutil to keep
MokManager as simple as possible.
|