0001-secureboot.patch 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. From 71133b4337411ddd550d5e5ef68a12c510740b2c Mon Sep 17 00:00:00 2001
  2. From: Dorian Stoll <dorian.stoll@tmsp.io>
  3. Date: Sat, 22 Jul 2023 10:45:33 +0200
  4. Subject: [PATCH] Use a custom key and certificate for Secure Boot signing
  5. Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
  6. ---
  7. redhat/kernel.spec.template | 15 +++++++++------
  8. 1 file changed, 9 insertions(+), 6 deletions(-)
  9. diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
  10. index 28df94e561d4..fd44abc4118a 100644
  11. --- a/redhat/kernel.spec.template
  12. +++ b/redhat/kernel.spec.template
  13. @@ -805,6 +805,7 @@ BuildRequires: system-sb-certs
  14. %ifarch x86_64 aarch64
  15. BuildRequires: nss-tools
  16. BuildRequires: pesign >= 0.10-4
  17. +BuildRequires: sbsigntools
  18. %endif
  19. %endif
  20. %endif
  21. @@ -864,6 +865,13 @@ Source1: Makefile.rhelver
  22. %define signing_key_filename kernel-signing-s390.cer
  23. %endif
  24. +%ifarch x86_64 aarch64
  25. +
  26. +Source7001: MOK.key
  27. +Source7002: MOK.crt
  28. +
  29. +%endif
  30. +
  31. %if %{?released_kernel}
  32. Source10: redhatsecurebootca5.cer
  33. @@ -2096,9 +2104,7 @@ BuildKernel() {
  34. SignImage=$KernelImage
  35. %ifarch x86_64 aarch64
  36. - %pesign -s -i $SignImage -o vmlinuz.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
  37. - %pesign -s -i vmlinuz.tmp -o vmlinuz.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
  38. - rm vmlinuz.tmp
  39. + sbsign --key %{SOURCE7001} --cert %{SOURCE7002} --output vmlinuz.signed $SignImage
  40. %endif
  41. %ifarch s390x ppc64le
  42. if [ -x /usr/bin/rpm-sign ]; then
  43. @@ -2650,9 +2656,6 @@ BuildKernel() {
  44. # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
  45. mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
  46. %ifarch x86_64 aarch64
  47. - install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20200609.cer
  48. - install -m 0644 %{secureboot_ca_1} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20140212.cer
  49. - ln -s kernel-signing-ca-20200609.cer $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
  50. %else
  51. install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
  52. %endif
  53. --
  54. 2.41.0