From d4c7cbc4c0745028949ebe3bf45765b08251e670 Mon Sep 17 00:00:00 2001 From: Andrei Kanner Date: Wed, 3 Jun 2026 12:56:32 +0200 Subject: [PATCH 1/6] kernelcare-contrib: add edk2-pytool-extensions submodule According to KernelCare Security Assessment (2025) from Anvil Secure the image_validation tool should be used to produce the final binary. Set the required NX_COMPAT flag using image validation tool [1][2]: Link[1]: https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/uefi-ca-memory-mitigation-requirements#if-implemented-pecoff-dll-attestation Link[2]: https://github.com/tianocore/edk2-pytool-extensions Signed-off-by: Andrei Kanner --- .gitmodules | 3 +++ kernelcare-contrib/edk2-pytool-extensions | 1 + 2 files changed, 4 insertions(+) create mode 160000 kernelcare-contrib/edk2-pytool-extensions diff --git a/.gitmodules b/.gitmodules index 4e5d47a..d20fce8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,6 @@ path = gnu-efi url = https://github.com/rhboot/gnu-efi branch = shim-15.6 +[submodule "kernelcare-contrib/edk2-pytool-extensions"] + path = kernelcare-contrib/edk2-pytool-extensions + url = https://github.com/tianocore/edk2-pytool-extensions.git diff --git a/kernelcare-contrib/edk2-pytool-extensions b/kernelcare-contrib/edk2-pytool-extensions new file mode 160000 index 0000000..34d3253 --- /dev/null +++ b/kernelcare-contrib/edk2-pytool-extensions @@ -0,0 +1 @@ +Subproject commit 34d3253ed0077f8813394e1903c76c514277631a From fc5d06e53844ef7400e696f02a55f90bc23dae0c Mon Sep 17 00:00:00 2001 From: Andrei Kanner Date: Wed, 3 Jun 2026 13:02:13 +0200 Subject: [PATCH 2/6] kernelcare-contrib: attach KernelCare public certs Old one from [1] and the new longterm_2032: curl -LO https://patches.kernelcare.com/kernelcare_pub.der curl -LO https://patches.kernelcare.com/kernelcare_pub_longterm_2032.der Link[1]: https://docs.tuxcare.com/live-patching-services/#uefi-secure-boot-support-1 Signed-off-by: Andrei Kanner --- kernelcare-contrib/kernelcare_pub.der | Bin 0 -> 1512 bytes .../kernelcare_pub_longterm_2032.der | Bin 0 -> 1494 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kernelcare-contrib/kernelcare_pub.der create mode 100644 kernelcare-contrib/kernelcare_pub_longterm_2032.der diff --git a/kernelcare-contrib/kernelcare_pub.der b/kernelcare-contrib/kernelcare_pub.der new file mode 100644 index 0000000000000000000000000000000000000000..2f834dc68889b616be1a2283bbeb1074d09571d4 GIT binary patch literal 1512 zcmXqLVtr!J#C&D}GZP~d6DPwA6BAW~+>&Jmylk9WZ60mkc^MhGSs4r(8x55V6xf(U zS-5y4opbU_QxtqM^GYieg7ec#$`gxHbrd}Fk`09o1VL)JdAPh&i}F%)oPjbhjm$if z5J3gs{FKt1RE6No^t{ZxbOrC!O0XK3g`A9H!kKw#`3~7&Gm?R3=q2ap8pw(B8W|ZF z8k!iI8CjSbL;<Iu-6sy-6@^7T>sx*sKq0jUtR zNxnO8CG=^$Dz5WUe{N?`dVb|bTmM@1?K+Axc5rzwlv(}h(!%`LRi3xP^%Im>b=EA8 zhz`=66x@xA*;`tl5SA?8(_VNx8nC!?C`zJSYK^p7i741yl7WChAe|OfeE?=N1 z?Q3)4RMvxM0zUPGn0$;nl=XAM#;fuxIep4+|Eu1<(zRx7K$yU}kGZF3358{!uv2vp z+WTxr=k#X(O=1EH=Ufl1<87=k@_%uyPw}IY&-`Sor8>29{MME`JedE2)9y|B3Zu9^ ztK6NlPrtl4D|~NG-NT+c=?!t~_4I{lt&NkjV~*wqD(p<%C(bN=_rZ+Kf9Jo~`k2GV%W&qz z(n|%U3L-P-U3BeqaCvrf-S*SNxJviUOdhF9m3-ypjNfp%#?shNJckk}`>${^`Bzm>> z*AV3bSuWFbi4&$_IjI^4E-7Bs>z!a+?qBe@N?hu3)&ZfFca76$FW9zk#*UX?kD2K> z-E~;>^K_T^!rM&Dj0}v6V-2DWcz_v2R+y3TKMRuqg8?^)$IrsT%*5VcAPeH~v52vV z2>oXhKJbI*_u@@IUN4v1qkeRGVu67?NLrai!a%G6y8_g_3rv8F47qpjJv;v9<^G9H zcZz0aY!)q@=Gy&u>c3a1?sLUTe(qP;cq=5Tipj>W+T_p4#!Ddyvy@yL{lC^|d}_Yc zp;OotvS(J^8y7J(=`~XPy@u|y+Zfx5CAGwkC77&vI#0I1a*gz>&wI@sc(xomD5=fN z@N@no%UAoe^_(wHW4yIbLCEdbdPZZt+Gi=+d(PaxH({nz7tU9L(it!{erBy@<9!Aet&=Tr(tf_tos%FH))s7{=~E>?6YOGbxG?*?U3J{FD8~` zMxM3pV%xQWyVsKI_G;IS*}vrHYHiMC&#!oy-S5e{@Zu@Ig>A>C%$wn4eD$>cN2%Yp zy=nz-T+&_W_H@O=O&d6p`ucxK7gYT{p|*YD-_?5~4xRffec*oR$@{fhEuFlftwDkD z0k)+RmQCJnu-o8{lyE`DQ~eu~lU@|+Jk?+Au3|BF^^E?RoF`5Qb5FmSaNd%&;LgrA zJ3XPLhlPWxl$-Pwe`bHMSiX0~LYeQgdH&tcpBn13I`E}H@(wR4)~HA7kGA+W9Ejf_ zP_^odbyWV+<;II%F8!@?b#Kc#gDYO03qRJ~>^1XT(bBNa*{QiMFKo@a+Y^6<&MT2Q zv0(MV9akqS?mqtU-zUX$hkowAsr*a$-R6g-)_my#-*#V~cs+H>;n}v~-ac;s QlB@jB{gpc;{uKQI0N)viUH||9 literal 0 HcmV?d00001 diff --git a/kernelcare-contrib/kernelcare_pub_longterm_2032.der b/kernelcare-contrib/kernelcare_pub_longterm_2032.der new file mode 100644 index 0000000000000000000000000000000000000000..20c650c33be9d3833b221a3ba9199f17b589344c GIT binary patch literal 1494 zcmXqLV!dS0#Jp<(GZP~d5E<~YacZ@Bw0-AgWaMULFlcNvR5DOtV-98E;*oUD$uCV& z@X5?8txyQgPb(=;EK1c;@XSj#6gCh9sp00~@=h(vOU-cx%D^--^GHGj6@2qkN^?>b zf-}?eGV{_Eyi+T|YG4*}GKvXj=B4F3WP{B}2AZLloS$nTC(dhRZeVC=Y-na=VQLU1 z&TDLh#2plFY+_PE4mw6w2IeLveg=akCN8EXCPs$!!d^_>2R5*Tw6xuQGB+da;>}zQ zcK6F~=Y-T;`0U5)dv$S&K>Y4Q_163@=~wUapPTXir|X9u*H>h##m7w6dT7gZppd~- z_Gz=YMCy;bC9}dm)?QS6{qCnsk4AhX+uog#Yxj14X-(B|)|mI9)=DW%u3x3B`&kcb zKG(C(+i#Y2-BOaYUs&UlGDT7$VtYw%UPRcnn7Cj5KRb_|KX^j?X4v7EPwXEi@|>ML zgJtPDk4#;*t!y{LHEJrjXPU$|%jV1zkMv$9r(GMw{K?73+9X7Hhv5p-)us-|U+A?y zUu%%rX+0-s+0yA@Kh2Z-9Id+Uu2}xQ&+v@piUsw0YxWoaY35K@%PM|*de8cWy33Bm zx-R^wxAMcUt&Rz$-+Svz`S+VGJC^%7SS(=2BJ=l=U;Y_#iLagWm+$$3*8cw)Yc`Zm z-fsJlg}e2GW`=!xqru1C!bjd^DokbfjAfTkO?>-|ng4;Y_z?qs?nf1^Gc~^}$O?pA z6iB?zX4`13sI3-f{~$w_;@ zXvUVDd-yZt$EVbWG7sg$ofQdtE$+@^etPdgBvTTfEyJ&8y{Gr)Rqyd+V4YZ~Q2(Vu z(&si`&6XE^XP#e8S#QAn!0x}4<&SNzbhN`Ffx$0EieGRgFyY1vx+OY3s2C(oH7%@zFrhqr+|NLrai!a%G6y8?cY z0%1nR|17Kq%s>h`*#UDbFxfFOn0}tt+bWg&t2F5L)7_hj2X*P4sRVPRak^GR## zsGD2%$X?ewJbBSy?ZvaTPcu~S*7|9tbI(Wh@8+2G|GjyPnkrU2S1x~LtW(37*L>=@ z`s(Dvb!!ya{;bfcQ#e+1Ys*`q@?PJ4+-g_$PEh)m7Gf(=cx27#2)-`S>}(-vmjw^<4~zfyB|#g)14->2_fAzb*m>1t<88 Date: Wed, 3 Jun 2026 20:03:22 +0200 Subject: [PATCH 3/6] kernelcare-contrib: add comprehensive build.sh script Signed-off-by: Andrei Kanner --- kernelcare-contrib/build.sh | 81 +++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 kernelcare-contrib/build.sh diff --git a/kernelcare-contrib/build.sh b/kernelcare-contrib/build.sh new file mode 100755 index 0000000..9301d68 --- /dev/null +++ b/kernelcare-contrib/build.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +# some required and extra packages: +# make gcc pesign nss-tools efivar +# (or also efitools for alternatively using cert-to-efi-sig-list) + +# abort on first fail +set -e + +# paths +KCARE_CONTRIB_PATH="kernelcare-contrib" +KCARE_CERT_LEGACY="$KCARE_CONTRIB_PATH/kernelcare_pub.der" +KCARE_CERT_LONGTERM="$KCARE_CONTRIB_PATH/kernelcare_pub_longterm_2032.der" + +# cert owner GUIDs +KCARE_CERT_LEGACY_UUID="73c0f53d-7043-43dd-9455-e73ee1a10c32" +KCARE_CERT_LONGTERM_UUID="f77d6619-1cc1-471b-ba03-efbae888d268" + +# build outputs +BUILD_DIR="kernelcare-build" +BUILD_NAME="shim_certificate_kernelcare_`uname -m`" +BINARY="$BUILD_DIR/$BUILD_NAME.efi" +LOG="$BUILD_DIR/$BUILD_NAME.log" + +export PYTHONPATH="$KCARE_CONTRIB_PATH/edk2-pytool-extensions" +IMAGE_VALIDATION_TOOL="python -m edk2toolext.image_validation" + +# cleanup +make clean +rm -rf *.efi *.esl $BUILD_DIR +mkdir -p $BUILD_DIR + +# trace and log every command from here +exec > "$LOG" 2>&1 +set -x + +# convert x509 format to an EFI Signature List format, concatenate certs +# +# Note: place LONGTERM as the 1st one so the shim binaries which lack +# 2daf1db (multiple ESLs in one .db section) or +# ea0f9df (broken multiple shim_certificate*.efi files, fixed in 470a8cd) +# will be able to use it even after LEGACY one expires. shim <16.1 is able +# to import only 1st cert. +efisecdb -a -g $KCARE_CERT_LONGTERM_UUID -c $KCARE_CERT_LONGTERM -o 01.esl +efisecdb -a -g $KCARE_CERT_LEGACY_UUID -c $KCARE_CERT_LEGACY -o 02.esl +cat 01.esl 02.esl > db.esl + +# - log used toolchain; +# - build; +# - validate as per KernelCare Security Assessment (2025). +yum list | grep -e ^gcc.`uname -m` -e ^binutils.`uname -m` +make update all +mv certwrapper.efi $BINARY +# set and verify IMAGE_DLLCHARACTERISTICS_NX_COMPAT for binaries +$IMAGE_VALIDATION_TOOL --set-nx-compat -i $BINARY +$IMAGE_VALIDATION_TOOL -p APP -i $BINARY +# --get-nx-compat exits with the flag VALUE (1 = set, 0 = not set), not a +# success code - just proceed. +$IMAGE_VALIDATION_TOOL --get-nx-compat -i $BINARY || true + +## optional: test before providing to MS for signing +## +# efikeygen -d /etc/pki/pesign --ca --self-sign --nickname='kcare-uefi-test' --common-name="CN=kcare-uefi-test" --serial=00 +## export pub cert +# certutil -L -d /etc/pki/pesign -n kcare-uefi-test -o kcare-uefi-test.der -r +## copy to EFI folder so it will be available within UEFI +# cp kcare-uefi-test.der /boot/efi/EFI/ +## sign and test certwrapper +# pesign -i certwrapper.efi -o /boot/efi/EFI/rocky/shim_certificate.efi -c kcare-uefi-test -s +## +## reboot, enable SecureBoot, enroll DB key +## in OVMF use: +## Device Manager -> +## Secure Boot Configuration -> +## Secure Boot Mode (Custom) -> +## Custom Secure Boot Options -> +## DB Options -> +## Enroll Signature Using File +## Don't forget to verify if SB is enabled, e.g. via 'mokutil --sb-state' +## Verify that all keys are imported via certwrapper and listed after reboot: +## mokutil --list-enrolled | egrep -i 'SHA1|Issuer' From dc0ba3cbdf5336785ac69b2a542d14b4e781fa7f Mon Sep 17 00:00:00 2001 From: Andrei Kanner Date: Thu, 4 Jun 2026 00:37:54 +0000 Subject: [PATCH 4/6] kernelcare-contrib: add build-all.sh for dual-arch container builds build-all.sh builds shim_certificate_kernelcare for x86_64 and aarch64 in almalinux:9 containers (aarch64 via qemu-user-static) and saves each .efi + .log under kernelcare-result-/. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: Andrei Kanner --- kernelcare-contrib/build-all.sh | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 kernelcare-contrib/build-all.sh diff --git a/kernelcare-contrib/build-all.sh b/kernelcare-contrib/build-all.sh new file mode 100755 index 0000000..160c436 --- /dev/null +++ b/kernelcare-contrib/build-all.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Build shim_certificate_kernelcare for x86_64 and aarch64 in almalinux:9 +# containers (aarch64 runs under qemu-user-static) and save each .efi + .log +# under kernelcare-build-/. Needs docker + network access. +# +# Run: bash kernelcare-contrib/build-all.sh + +set -euo pipefail + +IMAGE="almalinux:9" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +OUT="$REPO_ROOT/kernelcare-build-$(date +%Y-%m-%d)" + +# provisioning + build, run inside each container +CONTAINER_SCRIPT=' +set -euxo pipefail +dnf -y install make gcc binutils git efivar python3 python3-pip python-unversioned-command +pip3 install --quiet pefile +git config --global --add safe.directory "*" +cd /work/kernelcare-certwrapper && bash kernelcare-contrib/build.sh +' + +# register foreign-arch emulation once (idempotent) +[ -e /proc/sys/fs/binfmt_misc/qemu-aarch64 ] || \ + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes >/dev/null + +mkdir -p "$OUT" +for entry in x86_64:linux/amd64 aarch64:linux/arm64; do + arch="${entry%%:*}" platform="${entry##*:}" c="cw-${entry%%:*}" + echo ">>> building $arch ($platform)" + docker rm -f "$c" >/dev/null 2>&1 || true + docker run -d --name "$c" --platform "$platform" "$IMAGE" sleep infinity >/dev/null + docker exec "$c" mkdir -p /work + docker cp "$REPO_ROOT" "$c:/work/kernelcare-certwrapper" + docker exec "$c" bash -c "$CONTAINER_SCRIPT" + docker cp "$c:/work/kernelcare-certwrapper/kernelcare-build/." "$OUT/" + docker rm -f "$c" >/dev/null +done + +echo ">>> results in $OUT" +ls -l "$OUT" From de2a605c8fda67696598635a21a5e1ab3a4c753b Mon Sep 17 00:00:00 2001 From: Andrei Kanner Date: Thu, 4 Jun 2026 02:41:54 +0200 Subject: [PATCH 5/6] kernelcare-build-2026-06-04: build artifacts for x86_64/aarch64 Signed-off-by: Andrei Kanner --- .../shim_certificate_kernelcare_aarch64.efi | Bin 0 -> 6144 bytes .../shim_certificate_kernelcare_aarch64.log | 31 ++++++++++++++++++ .../shim_certificate_kernelcare_x86_64.efi | Bin 0 -> 6144 bytes .../shim_certificate_kernelcare_x86_64.log | 30 +++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.efi create mode 100644 kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.log create mode 100644 kernelcare-build-2026-06-04/shim_certificate_kernelcare_x86_64.efi create mode 100644 kernelcare-build-2026-06-04/shim_certificate_kernelcare_x86_64.log diff --git a/kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.efi b/kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.efi new file mode 100644 index 0000000000000000000000000000000000000000..b52e162b95a3a75a8794044d0f0f1e1b8b840059 GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.log b/kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.log new file mode 100644 index 0000000..4257e4d --- /dev/null +++ b/kernelcare-build-2026-06-04/shim_certificate_kernelcare_aarch64.log @@ -0,0 +1,31 @@ ++ efisecdb -a -g f77d6619-1cc1-471b-ba03-efbae888d268 -c kernelcare-contrib/kernelcare_pub_longterm_2032.der -o 01.esl ++ efisecdb -a -g 73c0f53d-7043-43dd-9455-e73ee1a10c32 -c kernelcare-contrib/kernelcare_pub.der -o 02.esl ++ cat 01.esl 02.esl ++ yum list +++ uname -m +++ uname -m ++ grep -e '^gcc.aarch64' -e '^binutils.aarch64' +binutils.aarch64 2.35.2-72.el9 @baseos +gcc.aarch64 11.5.0-14.el9.alma.1 @appstream ++ make update all +git submodule update --init --recursive +gcc -O0 -g3 -fPIC -Werror -Wall -Wextra -fshort-wchar -fno-merge-constants -ffreestanding -fno-stack-protector -fno-stack-check --std=gnu11 -DCONFIG_aarch64 -I/work/kernelcare-certwrapper/gnu-efi//inc -I/work/kernelcare-certwrapper/gnu-efi//inc/aarch64 -I/work/kernelcare-certwrapper/gnu-efi//inc/protocol -ffreestanding -I/usr/lib/gcc/aarch64-redhat-linux/11/include -DVENDOR_DB -c -o certwrapper.o certwrapper.c +gcc -O0 -g3 -fPIC -Werror -Wall -Wextra -fshort-wchar -fno-merge-constants -ffreestanding -fno-stack-protector -fno-stack-check --std=gnu11 -DCONFIG_aarch64 -I/work/kernelcare-certwrapper/gnu-efi//inc -I/work/kernelcare-certwrapper/gnu-efi//inc/aarch64 -I/work/kernelcare-certwrapper/gnu-efi//inc/protocol -ffreestanding -I/usr/lib/gcc/aarch64-redhat-linux/11/include -DVENDOR_DB -x c -c -o sbat_data.o /dev/null +objcopy --add-section .sbat=/work/kernelcare-certwrapper/data/sbat.csv \ + --set-section-flags .sbat=contents,alloc,load,readonly,data \ + sbat_data.o +gcc -nostdlib -fPIC -Wl,--warn-common -Wl,--no-undefined -Wl,-shared -Wl,-Bsymbolic -L/usr/lib64 -L/work/kernelcare-certwrapper/gnu-efi/ -Wl,--build-id=sha1 -Wl,--hash-style=sysv -o certwrapper.so certwrapper.o sbat_data.o \ + /usr/lib/gcc/aarch64-redhat-linux/11/libgcc.a \ + -T /work/kernelcare-certwrapper/elf_aarch64_efi.lds +/usr/bin/ld: warning: certwrapper.so has a LOAD segment with RWX permissions +objcopy -j .text -j .reloc -j .db -j .sbat \ + --file-alignment 512 --section-alignment 4096 -D \ + --strip-unneeded --set-section-alignment .db=512 --set-section-flags .db=alloc,contents,load,readonly,data --add-section .db="db.esl" --change-section-address .db=0x1b000 \ + --target efi-app-aarch64 certwrapper.so certwrapper.efi ++ mv certwrapper.efi kernelcare-build/shim_certificate_kernelcare_aarch64.efi ++ python -m edk2toolext.image_validation --set-nx-compat -i kernelcare-build/shim_certificate_kernelcare_aarch64.efi ++ python -m edk2toolext.image_validation -p APP -i kernelcare-build/shim_certificate_kernelcare_aarch64.efi +INFO - Overall Result: [PASS] ++ python -m edk2toolext.image_validation --get-nx-compat -i kernelcare-build/shim_certificate_kernelcare_aarch64.efi +INFO - True ++ true diff --git a/kernelcare-build-2026-06-04/shim_certificate_kernelcare_x86_64.efi b/kernelcare-build-2026-06-04/shim_certificate_kernelcare_x86_64.efi new file mode 100644 index 0000000000000000000000000000000000000000..f5452847389d3b85bef96b969de621964eb3d092 GIT binary patch literal 6144 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 Date: Wed, 10 Jun 2026 16:52:41 +0200 Subject: [PATCH 6/6] kernelcare-build-2026-06-04: signed binaries Signed-off-by: Andrei Kanner --- .../shim_certificate_kernelcare_aarch64.efi | Bin 0 -> 15912 bytes .../shim_certificate_kernelcare_x86_64.efi | Bin 0 -> 15912 bytes .../shim_certificate_kernelcare_aarch64.efi | Bin 0 -> 15696 bytes .../shim_certificate_kernelcare_x86_64.efi | Bin 0 -> 15688 bytes .../SignedBy_dual/info.txt | 27 ++++++++++++++++++ .../shim_certificate_kernelcare_x86_64.efi | Bin 0 -> 25456 bytes 6 files changed, 27 insertions(+) create mode 100644 kernelcare-build-2026-06-04/SignedBy_MSFT2011UEFICA/shim_certificate_kernelcare_aarch64.efi create mode 100644 kernelcare-build-2026-06-04/SignedBy_MSFT2011UEFICA/shim_certificate_kernelcare_x86_64.efi create mode 100644 kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_aarch64.efi create mode 100644 kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_x86_64.efi create mode 100644 kernelcare-build-2026-06-04/SignedBy_dual/info.txt create mode 100644 kernelcare-build-2026-06-04/SignedBy_dual/shim_certificate_kernelcare_x86_64.efi diff --git a/kernelcare-build-2026-06-04/SignedBy_MSFT2011UEFICA/shim_certificate_kernelcare_aarch64.efi b/kernelcare-build-2026-06-04/SignedBy_MSFT2011UEFICA/shim_certificate_kernelcare_aarch64.efi new file mode 100644 index 0000000000000000000000000000000000000000..f21f4ab888a5b8c1593c35d17032e1ca28eb44b5 GIT binary patch literal 15912 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 literal 0 HcmV?d00001 diff --git a/kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_aarch64.efi b/kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_aarch64.efi new file mode 100644 index 0000000000000000000000000000000000000000..b90dd52251fcc2d763e87b6bea6374e3aef11866 GIT binary patch literal 15696 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 literal 0 HcmV?d00001 diff --git a/kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_x86_64.efi b/kernelcare-build-2026-06-04/SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_x86_64.efi new file mode 100644 index 0000000000000000000000000000000000000000..d5bc4a65dbed12e5ef2974378056cf4aa294b425 GIT binary patch literal 15688 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 literal 0 HcmV?d00001 diff --git a/kernelcare-build-2026-06-04/SignedBy_dual/info.txt b/kernelcare-build-2026-06-04/SignedBy_dual/info.txt new file mode 100644 index 0000000..a949bb4 --- /dev/null +++ b/kernelcare-build-2026-06-04/SignedBy_dual/info.txt @@ -0,0 +1,27 @@ +## 2011 signature comes first according to MS recommendations. +# +# pesign -S -i shim_certificate_kernelcare_x86_64.efi +--------------------------------------------- +certificate address is 0x7fb856663808 +Content was not encrypted. +Content is detached; signature cannot be verified. +The signer's common name is Microsoft Windows UEFI Driver Publisher +No signer email address. +No signing time included. +There were certs or crls included. +--------------------------------------------- +certificate address is 0x7fb856665e30 +Content was not encrypted. +Content is detached; signature cannot be verified. +The signer's common name is Microsoft UEFI CA 2023 signer +No signer email address. +No signing time included. +There were certs or crls included. +--------------------------------------------- + +--- +# dual signature in a nutshell: +cp SignedBy_MSFT2011UEFICA/shim_certificate_kernelcare_aarch64.efi . +pesign -i SignedBy_MSFT2023UEFICA/shim_certificate_kernelcare_aarch64.efi -e shim_certificate_kernelcare_aarch64.efi.sig +pesign -i shim_certificate_kernelcare_aarch64.efi -o shim_certificate_kernelcare_aarch64.efi.dual -m shim_certificate_kernelcare_aarch64.efi.sig +mv shim_certificate_kernelcare_aarch64.efi.dual shim_certificate_kernelcare_aarch64.efi diff --git a/kernelcare-build-2026-06-04/SignedBy_dual/shim_certificate_kernelcare_x86_64.efi b/kernelcare-build-2026-06-04/SignedBy_dual/shim_certificate_kernelcare_x86_64.efi new file mode 100644 index 0000000000000000000000000000000000000000..b2fd92b82bffbae1d4c76b1a5f2f760956ef06a3 GIT binary patch literal 25456 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