Skip to main content

EFI

Auslesen der Keys

Du hast Dir auf Deinem EFI mit dmpstore PK, KEK, db, dbx und die MokList ausgelesen. Nun möchtest Du die Werte mit sig-list-to-certs entpacken - allerdings kommt nichts dabei heraus, weil vor den eigentlichen Werten noch ein Header steht. Also muss der Header entfernt werden. Das könnte man per vi oder emacs tun - ist aber mühselig. Also am besten irgendwie automatisch.

Bei mir sieht der Beginn des eigentlichen .esl immer gleich aus - wobei die MokList mit anderen Bytes beginnt hat als die übrigen Keyfiles.

Ich garantiere nicht dafür, dass die vier Bytes an denen das Tool den Beginn des .esl erkennt bei Dir genauso sind. Also DB_START und MOK_START ggf. anpassen.

Wenn Du möchtest kannst Du dafür dieses Tool verwenden:

strip-header.c

Efitools

Du hast Dir efitools installiert - also z.B. so hier:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git

und nun lässt es sich nicht kompilieren bzw. wenn Du efi-readvar aufrufst erhältst Du nur diese Fehlermeldung:

"No efivarfs filesystem is mounted"

Für diesen Fall habe ich einen Patch vorbereitet:

efitools.patch

Jeder, der dieses Tool bzw. den Patch anwendet sollte wissen was er tut und handelt auf eigene Gefahr. Ich übernehme keine Haftung für eventuelle Schäden.

Der Hinweis mit dem Patch ist nur noch historisch, da der Entwickler meine Codeänderung inzwischen aufgenommen hat.

https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/commit/?id=9af07a90a3e2246be5a7d01e3a037cfa731eb5dc