Depende de que tipo de assinatura você está falando. Se você tiver um sistema EFI, você pode ter assinado executáveis EFI ( *.efi
) e forçar seu firmware EFI a executar somente aqueles com uma assinatura conhecida. Isso é conhecido como Inicialização Segura . Para verificar um binário EFI para uma assinatura, você pode usar a ferramenta sbverify
:
$ sbverify --no-verify signed-binary.efi
Signature verification OK
$ sbverify --no-verify unsigned-binary.efi
No signature table present
Unable to read signature data from unsigned-binary.efi
Signature verification failed
Infelizmente, não vi uma maneira fácil de extrair e exibir a assinatura EFI. : (
É mais provável que você esteja procurando a capacidade do GRUB de verificar se seus módulos e kernels foram inicializados para assinaturas válidas (o Secure Boot afeta apenas o próprio binário do GRUB, tudo que o GRUB carrega não precisa necessariamente ser assinado pela EFI) . Essas são (tanto quanto eu entendo) simples assinaturas antigas de GPG (assim, por exemplo, para um kernel chamado vmlinuz-1.2.3
, você teria um arquivo vmlinuz-1.2.3.sig
com a assinatura). Aqueles podem simplesmente ser exibidos e verificados com
$ gpg --verify vmlinuz-1.2.3.sig vmlinuz-1.2.3
gpg: Signature made Tue Apr 1 12:34:56 2014 CEST using RSA key ID d3adb33f
gpg: Good signature from "John Doe <[email protected]>"
Se você não tem um arquivo *.sig
em seu kernel, obviamente ele não está assinado.
Você pode desabilitar a verificação de assinaturas no GRUB inserindo set check_signature=no
no prompt de comando do GRUB. Você pode obter mais informações sobre esse tópico aqui (essa funcionalidade é bastante nova e o site oficial do GRUB tem apenas o manual para a versão 2.00 online, que não possui esse recurso). Isso também explica como assinar seus módulos e kernel com sua própria chave e informar ao GRUB sobre isso.