Gpg

GnuPG 命令顯示文件中的密鑰資訊

  • March 23, 2022

當我執行時gpg --with-fingerprints --with-colons keyfile.key,我在 stdout 上得到一個機器可解析的輸出,其中包含密鑰文件中密鑰的密鑰指紋(這正是我想要的),以及 stderr 上的以下錯誤:

gpg: WARNING: no command supplied.  Trying to guess what you mean ...

所以 GnuPG 正確地猜測了命令,但在我的生活中,我無法弄清楚它猜測的是什麼命令。我已經嘗試了手冊頁上列出的幾乎所有命令。我正在使用 GnuPG 2.2。

有人知道讀取密鑰文件並顯示有關密鑰資訊的正確命令嗎?


編輯:理想情況下,該機制將能夠從標準輸入讀取密鑰文件,例如

cat keyfile.key | gpg --some-command

我應該在前面提到這一點,但是 gpg 的許多命令都與 stdin 一起工作,我什至不認為它是一個相關的約束。

郵件列表中的好人給出gnupg-users@gnupg.org了答案:

對於 >= 2.1.23 的版本:

cat keyfile.key | gpg --with-colons --import-options show-only --import

對於 >= 2.1.13 但 < 2.1.23 的版本:

cat keyfile.key | gpg --with-colons --import-options import-show --dry-run --import

GnuPG 不知道用於列出密鑰文件內容的專用命令。要麼使用gpg --list-packets &lt;keyfile&gt;(但這不是一個穩定的、機器可讀的輸出),要麼將密鑰文件定義為密鑰環和列表密鑰。直到 GnuPG 2.0 的舊密鑰環格式將密鑰儲存為密鑰數據包的串聯;因此您也可以將密鑰文件用作密鑰環。至少 GnuPG 2.1 和 2.2 仍然支持舊的密鑰環格式,我不希望這在不久的將來會改變。

gpg --with-fingerprint --with-colons --no-default-keyring --keyring &lt;keyfile&gt; --list-keys

一定要包含--no-default-keyring,否則 GnuPG 也會列印使用者密鑰環中的所有密鑰!

引用自:https://unix.stackexchange.com/questions/391344