Gpg
GnuPG 命令顯示文件中的密鑰資訊
當我執行時
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 <keyfile>
(但這不是一個穩定的、機器可讀的輸出),要麼將密鑰文件定義為密鑰環和列表密鑰。直到 GnuPG 2.0 的舊密鑰環格式將密鑰儲存為密鑰數據包的串聯;因此您也可以將密鑰文件用作密鑰環。至少 GnuPG 2.1 和 2.2 仍然支持舊的密鑰環格式,我不希望這在不久的將來會改變。gpg --with-fingerprint --with-colons --no-default-keyring --keyring <keyfile> --list-keys
一定要包含
--no-default-keyring
,否則 GnuPG 也會列印使用者密鑰環中的所有密鑰!