Este es el comando sign-efi-sig-list que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
sign-efi-sig-list: herramienta de firma para variables seguras como listas de firmas EFI
SINOPSIS
firmar-efi-sig-list [-r] [-m] [-a] [-g ] [-o] [-t ] [-i ] [-c <crt
archivo>] [-k <clave archivo>] <efi sig lista archivo> <salida archivo>
DESCRIPCIÓN
Produzca un archivo de salida con un encabezado de autenticación para actualizar directamente a un
variable. Esta salida puede estar firmada por las claves habituales directamente o puede dividirse para
firma externa usando el -o y -i .
OPCIONES
-r el certificado es rsa2048 en lugar de x509 [NO IMPLEMENTADO]
-m Utilice un recuento monótono en lugar de una marca de tiempo [SIN IMPLEMENTAR]
-a Prepare la variable para APPEND_WRITE en lugar de reemplazarla
-o No firme, pero envíe un archivo del paquete exacto a firmar
-t
Usar como la marca de tiempo de la actualización de la variable temporizada Si no está presente, entonces
la marca de tiempo se tomará de la hora del sistema. Tenga en cuenta que debe utilizar esta opción cuando
haciendo una firma separada, de lo contrario, la firma será incorrecta debido a
discrepancias en la marca de tiempo.
-i
tomar una firma separada (en formato PEM) del paquete producido por -o y completa
la creación de la actualización
-g
Usar como el GUID del propietario de la firma
-c
es el archivo que contiene el certificado de firma en formato PEM
-k
es el archivo que contiene la clave para en formato PEM
EJEMPLOS
Para firmar una actualización de anexo simple a la base de datos que se ha preparado como una lista de firmas de EFI en
DB.esl y envíe el resultado con el encabezado de autenticación en DB.auth
sign-efi-sig-list -a -c KEK.crt -k KEK.key db DB.esl DB.auth
Para hacer una firma separada de la misma manera
sign-efi-sig-list -a -t '21 de julio 09:39:37 BST 2012' -o db DB.esl DB.forsig
Ahora firme el archivo DB.forsig en la forma estándar openssl. Tenga en cuenta que los estándares requieren
sha256 como algoritmo de firma
openssl smime -sign -binary -in DB.forsig -out DB.signed -signer KEK.crt -inkey KEK.key
-outform DER -md sha256
Lo que produce una firma PKCS7 separada en DB.signed. Ahora alimenta esto de nuevo en el
programa recordando mantener la misma marca de tiempo (y la bandera -a):
sign-efi-sig-list -a -i DB.signed -t '21 de julio 09:39:37 BST 2012' db DB.auth
Para eliminar una clave, simplemente firme un archivo de lista de firmas EFI vacío, para producir una variable
actualización que eliminará el PK:
> null.esl
Y luego fírmelo de la forma estándar (no debe ser una actualización de escritura adjunta):
sign-efi-sig-list -c PK.crt -k PK.key PK null.esl PK.auth
Una vez que haya transferido el archivo .auth a la plataforma UEFI, puede usar UpdateVars.efi
programa para aplicarlo
UpdateVars [-a] db DB.auth
Donde el indicador -a debe estar presente si el archivo DB.auth se creó como una escritura anexa
actualizar y ausente si reemplaza la variable.
Use sign-efi-sig-list en línea usando los servicios de onworks.net