Получить ключевые идентификаторы apt и отпечатки пальцев в машиночитаемом формате

Я пытаюсь исправить проблему в puppetlabs-apt, чтобы включить использование ключевых отпечатков пальцев в качестве идентификаторов, чтобы гарантировать наличие определенного ключа с помощью 40-значного отпечатка ключа.

У меня проблемы с проверкой наличия ключа, и мне нужна команда, которая выводит следующее:

  • 8-значный идентификатор ключа.
  • 16-значный идентификатор ключа.
  • 40-значный идентификатор ключа.

Есть ли команда apt-key я могу использовать для вывода этих значений, по одной на строку, поэтому я могу разобрать вывод и проверить, присутствует ли ключ?

apt-key adv позволит вам напрямую передавать параметры GnuPG.

Таким образом, вы можете сделать что-то подобное, чтобы получить синтаксический аут:

 # 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) <ftpmaster@debian.org>::scSC: fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906: ⋮ 

Поскольку вас интересует только отпечаток пальца (8-значный и 16-значный идентификаторы – это только конец отпечатка пальца), | grep ^fpr | grep ^fpr , похоже, даст вам строки, которые вам | grep ^fpr .