web-dev-qa-db-fra.com

Comment puis-je regarder à l'intérieur d'apt / trusted.gpg?

J'aime mettre le contenu de /etc dans git pour que je puisse voir ce que les mises à jour automatiques changent, et quand quelque chose se brise, afin de pouvoir revenir en arrière et découvrir ce que j'ai changé depuis sa dernière utilisation.

En ce moment, on me dit:

modified:   trusted.gpg
modified:   trusted.gpg~

git diff est inutile, car ce sont des fichiers binaires. Bien sûr, je pourrais les archiver, mais ces fichiers sont essentiels à la sécurité des paquets, ce qui risquerait de me moquer de mes tentatives de sécurité! Alors, comment puis-je savoir ce qui a changé?

En tant que root, j'ai essayé:

cd /etc/apt
gpg -k trusted.gpg

(a également essayé --list-keys, --list-public-keys). Il dit gpg: error reading key: public key not found.

Je suis sûr que ce doit être juste une question de découvrir les paramètres corrects à donner à gpg?

6
Darren Cook

$ apt-key list

À partir de la documentation sur secure apt :

apt-key est un programme permettant de gérer un trousseau de clés de clés gpg pour sécuriser apt. Le trousseau de clés est conservé dans le fichier /etc/apt/trusted.gpg (à ne pas confondre avec le fichier /etc/apt/trustdb.gpg associé mais peu intéressant). apt-key peut être utilisé pour afficher les clés dans le trousseau de clés et pour ajouter ou supprimer une clé.

10
andrewsomething

Je suis tombé sur cette question alors que moi aussi je tentais de comprendre comment obtenir des informations sur un fichier de clé publique en utilisant GnuPG. En plus des commandes que Darren a essayées, j'ai aussi essayé --fingerprint mais j'ai le même message d'erreur gpg: error reading key: public key not found.

Après avoir découvert la réponse, je pensais compléter la réponse d’Andrew par une méthode plus générale d’impression d’informations sur les fichiers de clés publiques:

$ gpg --with-fingerprint /etc/apt/trusted.gpg

pub  1024D/437D05B5 2004-09-12 Ubuntu Archive Automatic Signing Key <[email protected]>
      Key fingerprint = 6302 39CC 130E 1A7F D81A  27B1 4097 6EAF 437D 05B5
sub  2048g/79164387 2004-09-12
pub  4096R/C0B21F32 2012-05-11 Ubuntu Archive Automatic Signing Key (2012) <[email protected]>
      Key fingerprint = 790B C727 7767 219C 42C8  6F93 3B4F E6AC C0B2 1F32
pub  4096R/EFE21092 2012-05-11 Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>
      Key fingerprint = 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
pub  1024D/FBB75451 2004-12-30 Ubuntu CD Image Automatic Signing Key <[email protected]>
      Key fingerprint = C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451

Comme on peut le voir, la liste ci-dessus contient les mêmes informations que le résultat de apt-key list - bien que le formatage de apt-key soit beaucoup plus lisible.

La page de manuel gpg indique uniquement que l'option --with-fingerprint doit être "Identique à la commande --fingerprint" mais, avec GnuPG 1.4.20), elle répertorie également les empreintes digitales lorsqu'un fichier est fourni. au lieu d'un identifiant de clé. Comme le montre l'exemple ci-dessus, cette option peut également être utilisée pour imprimer les empreintes digitales d'un anneau public contenant plusieurs clés.

2
Anthony Geoghegan

Si vous utilisez gpg -k --keyring <file> assurez-vous de spécifier le chemin du fichier, sinon gpg supposera que <file> se trouve dans ~/.gnupg/ même s'il existe dans le répertoire en cours!

Ce qui suit ne fonctionnera pas comme prévu:

cd /etc/apt
gpg -k --no-default-keyring --keyring trusted.gpg

Au lieu:

cd /etc/apt
gpg -k --no-default-keyring --keyring ./trusted.gpg
1
catanman