我正在尝试修复 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
似乎会为您提供您关心的行。