Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea il blob binario AWS per UEFI Secure Boot
Puoi completare le fasi seguenti per personalizzare le variabili UEFI Secure Boot durante la creazione di un'AMI. La KEK che viene utilizzata in queste fasi è in vigore a partire da settembre 2021. Se Microsoft aggiorna la KEK, devi utilizzare la KEK più recente.
Per creare il blob binario AWS
-
Crea un elenco di firme PK vuoto.
touch empty_key.crt cert-to-efi-sig-list empty_key.crt PK.esl -
Scarica i certificati KEK.
https://go.microsoft.com/fwlink/?LinkId=321185 -
Avvolgi i certificati KEK in un elenco di firme UEFI (
siglist).sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_KEK.esl MicCorKEKCA2011_2011-06-24.crt -
Scarica i certificati db di Microsoft.
https://www.microsoft.com/pkiops/certs/MicWinProPCA2011_2011-10-19.crt https://www.microsoft.com/pkiops/certs/MicCorUEFCA2011_2011-06-27.crt -
Genera l'elenco delle firme db.
sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_db.esl MicWinProPCA2011_2011-10-19.crt sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_UEFI_db.esl MicCorUEFCA2011_2011-06-27.crt cat MS_Win_db.esl MS_UEFI_db.esl > MS_db.esl -
L’Unified Extensible Firmware Interface Forum (UEFI) non fornisce più i file DBX. Ora vengono forniti da Microsoft su GitHub. Scarica l’ultimo aggiornamento DBX dal repository degli aggiornamenti Microsoft Secure Boot all’indirizzo https://github.com/microsoft/secureboot_objects
. -
Decomprimi il file update-binary firmato.
Crea
SplitDbxContent.ps1con il contenuto dello script seguente. In alternativa, puoi installare lo script dalla Galleria PowerShellutilizzando Install-Script -Name SplitDbxContent.<#PSScriptInfo .VERSION 1.0 .GUID ec45a3fc-5e87-4d90-b55e-bdea083f732d .AUTHOR Microsoft Secure Boot Team .COMPANYNAME Microsoft .COPYRIGHT Microsoft .TAGS Windows Security .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES .RELEASENOTES Version 1.0: Original published version. #> <# .DESCRIPTION Splits a DBX update package into the new DBX variable contents and the signature authorizing the change. To apply an update using the output files of this script, try: Set-SecureBootUefi -Name dbx -ContentFilePath .\content.bin -SignedFilePath .\signature.p7 -Time 2010-03-06T19:17:21Z -AppendWrite' .EXAMPLE .\SplitDbxAuthInfo.ps1 DbxUpdate_x64.bin #> # Get file from script input $file = Get-Content -Encoding Byte $args[0] # Identify file signature $chop = $file[40..($file.Length - 1)] if (($chop[0] -ne 0x30) -or ($chop[1] -ne 0x82 )) { Write-Error "Cannot find signature" exit 1 } # Signature is known to be ASN size plus header of 4 bytes $sig_length = ($chop[2] * 256) + $chop[3] + 4 $sig = $chop[0..($sig_length - 1)] if ($sig_length -gt ($file.Length + 40)) { Write-Error "Signature longer than file size!" exit 1 } # Content is everything else $content = $file[0..39] + $chop[$sig_length..($chop.Length - 1)] # Write signature and content to files Set-Content -Encoding Byte signature.p7 $sig Set-Content -Encoding Byte content.bin $contentUtilizza lo script per decomprimere i file DBX firmati.
PS C:\Windows\system32> SplitDbxContent.ps1 .\dbx.binIn questo modo vengono creati due file:
signature.p7econtent.bin. Utilizzacontent.binnella fase successiva. -
Crea un archivio delle variabili UEFI usando lo script
uefivars.py../uefivars.py -i none -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/content.bin -
Controlla il blob binario e l'archivio delle variabili UEFI.
./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o json | less -
È possibile aggiornare il blob passandolo nuovamente allo stesso strumento.
./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/content.binOutput previsto
Replacing PK Replacing KEK Replacing db Replacing dbx