You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+43-2Lines changed: 43 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,9 +35,50 @@ sudo dnf install gnu-efi-devel
35
35
sudo make install
36
36
```
37
37
38
-
### Create and enroll your keys (FIXME)
38
+
### Create and enroll your keys
39
39
40
-
Copy the `.vardata` files to the efivars filesystem (requires administrator privilege):
40
+
Keys and certificates can be created with the `openssl x509` command; see [Controlling Secure Boot](https://www.rodsbooks.com/efi-bootloaders/controlling-sb.html).
41
+
Let's assume you have created three pairs consisting of 6 files:
42
+
43
+
```
44
+
PK.key PK.crt
45
+
KEK.key KEK.crt
46
+
myOrg.key myOrg.crt
47
+
```
48
+
49
+
We could have called the last pair `db.key` and `db.crt`. But let's assume for now that we also want to enroll the "fedora secure boot signing certificate" along with `myOrg.crt`.
50
+
51
+
The fedora certificate comes in the form of an additional file `fedora.crt`. Note that we do not have the corresponding private key.
52
+
53
+
Choose a guid and convert all your `crt` files to "efi-siglist" format:
54
+
55
+
```sh
56
+
guid=4212023e-a290-11f0-bd3b-e446b04ad651
57
+
fornamein PK KEK myOrg fedora;do
58
+
cert-to-efi-sig-list -g $guid$name.crt $name.esl
59
+
done
60
+
```
61
+
62
+
The `esl` files can be concatenated. Combine `myOrg.esl` and `fedora.esl` to create `db.esl`:
63
+
64
+
```sh
65
+
cat myOrg.esl fedora.esl > db.esl
66
+
```
67
+
68
+
Now sign your `esl` files, thus creating three files `PK.vardata`, `KEK.vardata` and `db.vardata`:
0 commit comments