La firma criptográfica de un RPM se puede verificar con el rpm -K
comando. Esto devuelve una cadena que contiene gpg
(o pgp
) y termina en OK
si la firma está en la base de datos de RPM y es válida.
Si el paquete no está firmado pero las sumas de verificación son válidas, igual obtendrá OK
, pero no gpg
.
Si el paquete está firmado pero falta la clave en la base de datos RPM, obtendrá (GPG)
(letras mayúsculas) y NOT OKAY
, seguido de (MISSING KEYS: GPG#deadbeef)
.
Eso es útil si quiero averiguar qué clave debo encontrar para instalar para que la instalación de mi paquete funcione.
Pero, ¿qué sucede si quiero verificar cuál de varias claves en mi llavero RPM se utilizó para firmar un paquete dado?
rpm
packaging
cryptography
gpg
mattdm
fuente
fuente
-a
con-p packagename.rpm
.Hay un campo de Firma listado a través de
rpm -qpi package.rpm
, por ejemplo,:fuente
Para averiguar qué clave GPG en su RPM DB firmó un rpm específico, haga esto:
Enumere todas las claves GPG en su base de datos RPM:
Primero asegúrese de que las rpm en cuestión estén firmadas con una clave en su RPM DB:
Estás buscando el OK al final, y no 'NO OK (FALTAS DE CLAVES'), lo que significa que ha sido firmado, pero por una clave que no está en tu DB RPM.
Correcto, entonces las rpm que estamos verificando han sido firmadas por una clave en nuestro RPM DB.
Y luego obtenga la ID de clave con la que se firmaron las rpm:
Ahora puede ver si los últimos 8 caracteres de la ID de clave (es decir, b1275ea3 de fadd8d64b1275ea3) corresponden a alguno de los 8 caracteres que siguen a gpg-pubkey- del primer comando. Y en este caso, lo hace!
Y luego tienes la clave en cuestión, así que hazlo:
para ver, en este ejemplo, que fue la clave de HP la que firmó estas rpm.
Espero que esto ayude. Me tomó un tiempo darme cuenta. :-)
fuente
Emita
less <rpm file>
y verifique laSignature
entrada, por ejemplo:fuente