La signature cryptographique d'un RPM peut être vérifiée avec la rpm -K
commande. Cela renvoie une chaîne contenant gpg
(ou pgp
) et se terminant par OK
si la signature est dans la base de données de RPM et est valide.
Si le package n'est pas signé mais que les sommes de contrôle sont valides, vous obtiendrez toujours OK
, mais non gpg
.
Si le package est signé mais que la clé est manquante dans la base de données RPM, vous obtenez (GPG)
(lettres majuscules) et NOT OKAY
, suivi de (MISSING KEYS: GPG#deadbeef)
.
C'est pratique si je veux savoir quelle clé je devrais trouver pour installer pour que l'installation de mon package fonctionne.
Mais que faire si je veux vérifier laquelle de plusieurs clés de mon trousseau de clés RPM a été utilisée pour signer un package donné?
la source
-a
par-p packagename.rpm
.Un champ Signature est répertorié via
rpm -qpi package.rpm
, par exemple:la source
Pour savoir quelle clé GPG dans votre base de données RPM a signé un rpm spécifique, procédez comme suit:
Répertoriez toutes les clés GPG dans votre base de données RPM:
Assurez-vous d'abord que le rpm en question est signé avec une clé dans votre base de données RPM:
Vous recherchez le OK à la fin, et non `` PAS OK (CLÉS MANQUANTES '', ce qui signifie qu'il a été signé, mais par une clé qui ne se trouve pas dans votre base de données RPM.
Bon, donc le rpm que nous vérifions a été signé par une clé dans notre base de données RPM.
Et puis obtenez l'ID clé avec lequel le rpm a été signé:
Vous pouvez maintenant voir si les 8 derniers caractères de l'ID de clé (c.-à-d. B1275ea3 de fadd8d64b1275ea3) correspondent à l'un des 8 caractères suivant gpg-pubkey- de la première commande. Et dans ce cas, c'est le cas!
Et puis vous avez la clé en question, alors faites:
pour voir, dans cet exemple, que c'est la clé de HP qui a signé ce rpm.
J'espère que cela t'aides. Cela m'a pris un certain temps pour comprendre. :-)
la source
Émettez
less <rpm file>
et vérifiez l'Signature
entrée, par exemple:la source