Récupérer les identifiants de keys et les empreintes digitales d'apt dans un format lisible par machine

J'essaie de corriger un problème dans puppetlabs-apt à permettre l'utilisation d'empreintes digitales keys en tant qu'identificateurs pour s'assurer qu'une certaine key est présente par son empreinte digitale à 40 numbers.

J'ai de la difficulté à vérifier que la key est présente et j'ai besoin d'une command qui produira ce qui suit:

  • L'ID à 8 numbers de la key.
  • L'identifiant à 16 numbers de la key.
  • L'identifiant à 40 numbers de la key.

Y a-t-il une command apt-key je peux utiliser pour sortir ces valeurs, une par ligne, pour pouvoir parsingr la sortie et vérifier si la key est présente?

apt-key adv vous permettra de passer directement des options à GnuPG.

Donc, vous pouvez faire quelque chose comme ça pour get une sortie parsable:

 # apt-key adv --list-public-keys --with-fingerprint --with-colons ⋮ fpr:::::::::126C0D24BD8A2942CC7DF8AC7638D0442B90D010: pub:-:4096:1:9D6D8F6BC857C906:2014-11-21:2022-11-19::-:Debian Security Archive Automatic Signing Key (8/jessie) <[email protected]>::scSC: fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906: ⋮ 

Puisque vous n'êtes intéressé que par l'empreinte digitale (les identifiants à 8 numbers et à 16 numbers ne sont que la fin de l'empreinte digitale), | grep ^fpr | grep ^fpr semble vous donner les lignes qui vous intéressent.