UEFI Secure Boot y OpenCore (3)

Como parte del proceso de habilitar UEFI Secure Boot con OpenCore, hay que insertar los archivos de firma digital en el firmware, reemplazando las variables existentes en este orden:

  • db.auth >> DB (archivo de sitios autorizados)
  • kek.auth >> KEK (claves para el intercambio de claves)
  • pk.auth >> PK (clave de la plataforma).

Esto se puede hacer de 2 maneras: menú de configuración del BIOS o KeyTool.

BIOS

En la sección Secure Boot suele haber opciones para restaurar las claves predeterminadas de fábrica o editar variables por separado. En mi placa base (Z390 Aorus Elite), este menú está en Boot >> pestaña Secure Boot >> Key Management.

Gestión de variables seguras

Key Management

Si ya has modificado anteriormente los almacenes de claves es muy recomendable, para evitar errores, restaurar las claves predeterminadas de fábrica antes de agregar/editar las nuevas. Esto se hace desde Restore Factory keys >> Install factory defaults >> Yes. Otra opción es Reset To Setup Mode que borra las claves del firmware después del reinicio para que se puedan cargar las predeterminadas o las creadas por nosotros.

Reset to factory keys

Ahora puedes editar las claves. Selecciona la variable que vas a modificar en este orden: Authorized Signatures (db) >> Key Exchange Keys (KEK) >> Platform Key (PK). Para cada variable, el menú permite ver los detalles, exportar, actualizar (reemplazar), agregar a las existentes o eliminar. Por ejemplo, para Authorized Signatures, las opciones son Details / Export / Update / Append / Delete.

DB options

Para reemplazar una variable con otra: selecciona Update >> busque en el dispositivo USB >> ubica y selecciona db.auth >> esta base de datos de firmas permitidas reemplaza la actual. Lo mismo ocurre con Append si deseas añadirla a la existente en lugar de reemplazarla. Puedes usar Append con db.auth y kek.auth, pero pk.auth solo permite el reemplazo. Para ver los detalles, seleccione Detalles >> se muestran los detalles de la variable.

DB details

KeyTool

KeyTool está incluido en el paquete efitools de Linux; puedes encontrar la utilidad en /usr/share/efitools/efi/KeyTool.efi (Ubuntu).

¿Cómo utilizar esta herramienta? Hay 2 maneras:

  • Copiar KeyTool.efi con el nombre BOOTx64.efi a la carpeta EFI de una memoria USB formateada como FAT32 y MBR
  • Copiar KeyTool.efi con el nombre BOOTx64.efi a la carpeta EFI de la partición EFI de una memoria USB formateada como FAT32 y GUID.

Junto a BOOTx64.efi (KeyTool.efi), la carpeta EFI del dispositivo USB también debe incluir los archivos db.auth, kek.auth y pk.auth. Al arrancar desde este USB se lanza una interfaz gráfica y vemos un menú con las opciones Save Keys / Edit Keys / Execute Binary / Exit. Haz clic en Edit Keys.

Keytool 1

Seleccione la variable que va a modificar en este orden: Allowed Signature Database (db) >> Key Exchange Keys Database (kek) >> Platform Key (pk). Primero selecciona Allowed Signature Database (db) >> Replace Keys >> partición 1 del dispositivo USB >> db.auth >> clic Enter >> regresa a la lista de variables (mensaje sólo en caso de error).

Keytool 2
Keytool 3
Keytool 4

Repite lo mismo para Key Exchange Keys Database (KEK) y Platform Key (PK).

Finalizando

Después de insertar db.auth, kek.auth y pk.auth en el firmware, podemos iniciar OpenCore y macOS con UEFI Secure Boot habilitado.

Deja un comentario