SYSTEMD-SBSIGN(1) systemd-sbsign SYSTEMD-SBSIGN(1) (NAME) systemd-sbsign - PE EFI (EFI Secure Boot) (SYNOPSIS) systemd-sbsign [OPTIONS...] {COMMAND} (DESCRIPTION) systemd-sbsign PE EFI (EFI Secure Boot) . (COMMANDS) sign PE EFI . PE . PE . . PE --output= . . (OPTIONS) : --output=PATH PE ( --prepare-offline-signing) . . --private-key=PATH/URI, --private-key-source=TYPE[:NAME], --certificate=PATH, --certificate-source=TYPE[:NAME] sign . --certificate= X.509 PEM URI (provider) OpenSSL --certificate-source . --certificate-source "file" "provider" "provider:pkcs11". --private-key= URI (engine) (provider) OpenSSL --private-key-source= "type:name" ( "engine:pkcs11") . OpenSSL PE . . --prepare-offline-signing sign PE --output= . (out-of-band) --signed-data= --signed-data-signature= PE . . --signed-data=PATH, --signed-data-signature=PATH ( --prepare-offline-signing --output= ) sign . . -h, --help . --version . (EXAMPLES) . EFI PE systemd-boot : SD_BOOT="$(find /usr/lib/systemd/boot/efi/ -name "systemd-boot*.efi" | head -n1)" # Extract the data that should be signed offline. /usr/lib/systemd/systemd-sbsign \ sign \ --certificate=secure-boot-certificate.pem \ --output=signed-data.bin \ --prepare-offline-signing \ "$SD_BOOT" # Sign the data out-of-band. This step usually happens out-of-band on a separate system. openssl dgst -sha256 -sign secure-boot-private-key.pem -out signed-data.sig signed-data.bin # Attach the signed data and its signature to the systemd-boot PE binary. /usr/lib/systemd/systemd-sbsign \ sign \ --certificate=secure-boot-certificate.pem \ --output="$SD_BOOT.signed" \ --signed-data=signed-data.bin \ --signed-data-signature=signed-data.sig \ "$SD_BOOT" (SEE ALSO) bootctl(1) systemd 261.2 SYSTEMD-SBSIGN(1)