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
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.
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.
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.
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.
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).
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.