Adicionando certificado X.509 ao banco de dados de inicialização segura UEFI?

Adicionando certificado X.509 ao banco de dados de inicialização segura UEFI?

Instalei recentemente o Fedora 20 em um PC desktop personalizado com uma placa-mãe ASUS Z87-K. Dados alguns bugs comumente conhecidos, instalei o driver proprietário da NVIDIA para minha GeForce 630 e desativei o driver nouveau.

Após concluir corretamente a instalação do driver, durante a qual o módulo foi assinado com um par de chaves recém-gerado, um certificado x.509 foi criado e colocado automaticamente no

/usr/share/nvidia/certificate.der.

No entanto, a partir desse momento, o computador não consegue inicializar com a opção de inicialização segura UEFI habilitada. Ao mudar para o modo de texto e executar nvidia-modprobe, descubro que o módulo proprietário da NVIDIA não foi carregado.

Quando desativo o Secure Boot no menu UEFI, o computador inicializa e funciona perfeitamente com o driver instalado.

Para evitar a desvantagem de inicializar em modo inseguro, gostaria de saber onde colocar o certificado x.509 do módulo NVIDIA para que ele seja reconhecido pelo kernel e não precise desligar o Secure Boot.

Responder1

Você deve ser capaz de carregar o certificado usando MokManager.efipara que ele seja reconhecido pelo Shim e, portanto, aceito pelo kernel. Não sei se o Fedora configura seu GRUB para que você possa iniciá MokManager.efi-lo. Caso contrário, tente inicializar (com inicialização segura desativada) uma unidade flash USB com shell EFI ourefInd.Você poderá então iniciar MokManager.efie carregar o arquivo de certificado. (Ele precisará ser armazenado no mesmo disco que o MokManager.efiutilitário – provavelmente /boot/efino Fedora.)

Tenho certeza de que existe uma maneira de adicionar o certificado à NVRAM de dentro do Linux para que Shim perceba e pergunte se ele deve ser usado na próxima vez que você reiniciar, mas não sei exatamente o que é. Presumivelmente, isso envolveria gravar o arquivo em algum lugar da /sys/firmware/efiárvore de diretórios.

Dito isso, nunca tive que fazer isso sozinho, já que não uso drivers de vídeo proprietários em nenhum dos meus computadores. É concebível que haja alguma etapa extra que você precise realizar.

Responder2

Você gostaria de usar o mokutil para registrar a chave.

sudo mokutil --import <der file>

Você pode testar se uma chave está inscrita com

mokutil --test-key <der file>

informação relacionada