Isso foi surpreendentemente carente de documentação. Eu encontrei este arquivo, module-signing.txt , que é parte do Documentação do Kernel RHEL6. Neste documento, ele mostra como gerar chaves de assinatura, supondo que você queira assinar todos os seus módulos como parte de uma compilação do kernel:
cat >genkey <<EOF
%pubring kernel.pub
%secring kernel.sec
Key-Type: DSA
Key-Length: 512
Name-Real: A. N. Other
Name-Comment: Kernel Module GPG key
%commit
EOF
make scripts/bin2c
gpg --homedir . --batch --gen-key genkey
gpg --homedir . --export --keyring kernel.pub keyname |
scripts/bin2c ksign_def_public_key __initdata >crypto/signature/key.h
Também o artigo do Linux Journal intitulado: Signed Kernel Modules tem alguns bons detalhes e passos sobre como fazer pedaços de isso, mas não consegui encontrar as ferramentas de espaço do usuário, extract_pkey
e mod
que ele faz referência.
Você pode querer procurar no site do Greg Kroah , você pode encontrar algo útil em uma de suas apresentações.