我正在尝试修补 puppetlabs-apt 中的一个问题,以启用密钥指纹作为标识符的使用,以确保某个密钥存在于其 40 位密钥指纹中。
我很难检查密钥是否存在,我需要一个输出以下内容的命令:
是否有一个apt-key
命令可以用来输出这些值,每行一个,以便我可以解析输出并检查密钥是否存在?
der*_*ert 21
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:
?
Run Code Online (Sandbox Code Playgroud)
由于您只对指纹感兴趣(8 位和 16 位 ID 只是指纹的末尾),| grep ^fpr
似乎会给您提供您关心的行。