[OS-BUILD PATCH 3/3] redhat: spec: conditionally trust RHEL keys

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Shawn Doherty <sdoherty@xxxxxxxxxx>

redhat: spec: conditionally trust RHEL keys

JIRA: https://issues.redhat.com/browse/RHEL-78808

commit 7a1a30adcf4af88c0d67d6132c5b845373110f0d
Author: Eric Chanudet <echanude@xxxxxxxxxx>
Date:   Wed Aug 7 10:57:20 2024 -0400

    redhat: spec: conditionally trust RHEL keys

    JIRA: https://issues.redhat.com/browse/RHEL-53349
    Upstream Status: RHEL-only

    One of the reasons to not sign the modules at compile time was to remove
    keys from the keyring to automatically revoke any signature not tied to
    a given image. Add a condition to trust the RHEL persistent ones.

    Persistent keys being added to the trusted keyring is independent from
    signing the modules at build time, update the test with the new variable
    now reflecting that choice.

    Signed-off-by: Eric Chanudet <echanude@xxxxxxxxxx>

Signed-off-by: Shawn Doherty <sdoherty@xxxxxxxxxx>

diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100644
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -111,6 +111,9 @@ Summary: The Linux kernel
 # Sign modules on all arches
 %global signmodules 1
 
+# Add rhel module signing keys to keyring.
+%global rhelkeys 1
+
 # Compress modules only for architectures that build modules
 %ifarch noarch
 %global zipmodules 0
@@ -471,6 +474,7 @@ Summary: The Linux kernel
 %define with_ipaclones 0
 %define signkernel 0
 %define signmodules 1
+%define rhelkeys 0
 %endif
 
 
@@ -2016,24 +2020,23 @@ do
 done
 %endif
 
-%if %{signkernel}%{signmodules}
-
 # Add DUP and kpatch certificates to system trusted keys for RHEL
 %if 0%{?rhel}
 %{log_msg "Add DUP and kpatch certificates to system trusted keys for RHEL"}
+truncate -s0 ../certs/rhel.pem
+%if %{rhelkeys}
 openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem
 openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem
 openssl x509 -inform der -in %{SOURCE102} -out nvidiagpuoot001.pem
-cat rheldup3.pem rhelkpatch1.pem nvidiagpuoot001.pem > ../certs/rhel.pem
+cat rheldup3.pem rhelkpatch1.pem nvidiagpuoot001.pem >> ../certs/rhel.pem
+for i in *.config; do
+  sed -i 's@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@' $i
+done
+%endif
 %if %{signkernel}
 %ifarch s390x ppc64le
 openssl x509 -inform der -in %{secureboot_ca_0} -out secureboot.pem
 cat secureboot.pem >> ../certs/rhel.pem
-%endif
-%endif
-
-# rhel
-%endif
 
 openssl x509 -inform der -in %{ima_ca_cert} -out imaca.pem
 cat imaca.pem >> ../certs/rhel.pem
@@ -2042,6 +2045,8 @@ for i in *.config; do
   sed -i 's@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@' $i
 done
 %endif
+%endif
+%endif
 
 # Adjust FIPS module name for RHEL
 %if 0%{?rhel}

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3715

-- 
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux