O chaveiro do sistema obtém seu conteúdo de cinco fontes:
- chaves incorporadas no kernel em tempo de compilação (obviamente não alteráveis sem recompilar)
- Variável de inicialização segura da UEFI
db
- dependendo do seu firmware, você pode ou não conseguir alterar isso - Variável de inicialização segura da UEFI
dbx
- como a anterior, mas esta é uma lista negra, portanto, você não deseja adicionar sua chave aqui mesmo assim - chaves incorporadas em
shim.efi
- não alteráveis sem recompilar, e você provavelmente teria que reinscrever o shim posteriormente, a menos que tenha assumido o controle de sua inicialização seguraPK
= muito incômodo - Variável UEFI
MOK
(usada porshim.efi
) - essa pode ser sua melhor esperança.
Para importar sua chave para o MOK, você deve primeiro garantir que shim.efi
esteja envolvido no seu processo de inicialização (veja efibootmgr -v
).
Em seguida, tenha a chave / certificado com o qual seu módulo está assinado no formato DER e inicie o processo de importação usando o comando mokutil
:
mokutil --import your_signing_key.pub.der
O comando exigirá que você defina uma nova senha de importação: essa senha será usada na próxima etapa e não é uma senha anterior. Como de costume ao definir uma nova senha, mokutil
exigirá que você digite essa senha duas vezes.
Então, da próxima vez que você reinicializar o sistema, shim.efi
verá que uma nova chave MOK está pronta para importação e exigirá que você digite a senha de importação que você definiu na etapa anterior . Depois de fazer isso uma vez, a nova chave será armazenada na variável UEFI MOK de forma persistente, e o kernel a incluirá automaticamente no chaveiro do sistema.
Se você não estiver usando o UEFI, não poderá adicionar novas chaves ao chaveiro do sistema sem recompilar o kernel. Mas, por outro lado, se o Secure Boot não estiver habilitado, o kernel permitirá o carregamento de módulos do kernel sem assinatura ou com uma assinatura não verificável - ele apenas define um dos sinalizadores taint do kernel para marcar que um módulo do kernel não-distribuído foi carregado.