A assinatura criptográfica de um RPM pode ser verificada com o rpm -K
comando Isso retorna uma sequência que contém gpg
(ou pgp
) e termina OK
se a assinatura estiver no banco de dados do RPM e for válida.
Se o pacote não for assinado, mas as somas de verificação forem válidas, você ainda receberá OK
, mas não gpg
.
Se o pacote estiver assinado, mas a chave estiver faltando no banco de dados RPM, você receberá (GPG)
(letras maiúsculas) e NOT OKAY
, seguido por (MISSING KEYS: GPG#deadbeef)
.
Isso é útil se eu quiser descobrir qual chave devo encontrar para instalar para que a instalação do meu pacote funcione.
Mas e se eu quiser verificar qual das várias chaves no meu chaveiro RPM foi usada para assinar um determinado pacote?
rpm
packaging
cryptography
gpg
mattdm
fonte
fonte
-a
por-p packagename.rpm
.Há um campo Assinatura listado via
rpm -qpi package.rpm
, por exemplo:fonte
Para descobrir qual chave GPG no seu banco de dados RPM assinou um rpm específico, faça o seguinte:
Liste todas as chaves GPG no seu banco de dados RPM:
Primeiro, verifique se o rpm em questão está assinado com uma chave no seu RPM DB:
Você está procurando o OK no final, e não 'NOT OK (MISSING KEYS'), o que significa que foi assinado, mas por uma chave que não está no seu RPM DB.
Certo, então o rpm que estamos verificando foi assinado por uma chave em nosso RPM DB.
E, em seguida, obtenha o ID da chave com o qual o rpm foi assinado:
Agora você pode ver se os últimos 8 caracteres do ID da chave (ou seja, b1275ea3 de fadd8d64b1275ea3) correspondem a qualquer um dos 8 caracteres após gpg-pubkey- desde o primeiro comando. E neste caso, ele faz!
E então você tem a chave em questão, assim como:
ver, neste exemplo, que foi a chave da HP que assinou essa rpm.
Espero que isto ajude. Levei um tempo para descobrir. :-)
fonte
Emita
less <rpm file>
e verifique aSignature
entrada, por exemplo:fonte