以机器可读格式获取 apt 的密钥 ID 和指纹

以机器可读格式获取 apt 的密钥 ID 和指纹

我正在尝试修复 puppetlabs-apt 中的一个问题,以启用密钥指纹作为标识符,以确保某个密钥由 40 位密钥指纹表示。

我很难检查密钥是否存在,我需要一个命令来输出以下内容:

  • 密钥的 8 位 ID。
  • 密钥的 16 位 ID。
  • 密钥的 40 位 ID。

是否有一个apt-key命令可以用来输出这些值(每行一个),以便我可以解析输出并检查密钥是否存在?

答案1

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) <[email protected]>::scSC:
fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906:

由于您只对指纹感兴趣(8 位和 16 位 ID 只是指纹的末尾),因此| grep ^fpr似乎会为您提供您关心的行。

相关内容