Получение информации из защищенного файла открытого ключа gpg

21

Когда передается файл с защищенным открытым ключом GnuPG, то есть file ( pubkey.gpg), который был создан с помощью:

gpg -r 0xDEADBEEF --export --armored > pubkey.gpg

Каков наилучший способ получить информацию, такую ​​как отпечаток пальца в этом файле, не импортируя ее в мою связку ключей?

Лучший способ, который я нашел до сих пор (и я не доволен), это:

gpg --dry-run --import pubkey.gpg

Естественно, я просмотрел справочную страницу gpg, но не нашел очевидного решения.

Чен Леви
источник

Ответы:

7

Я не знаю, что у gpg есть опция для этого, но вот более гибкий обходной путь для извлечения информации из файла ключа:

mkdir temp-gnupg-dir
export GNUPGHOME=temp-gnupg-dir
gpg --import pubkey.gpg
gpg --list-keys
rm -r temp-gnupg-dir

Вместо GNUPGHOMEпеременной окружения вы можете перейти --homedir=temp-gnupg-dirк каждому вызову gpg.

Жиль "ТАК - перестань быть злым"
источник
Это не красиво, но это полезно знать , какие варианты не доступны, и это является решением. Поэтому я благодарю вас за это.
Чен Леви
1
Хотя это будет работать, это намного сложнее, чем необходимо. Ниже я написал, как это сделать без какого-либо импорта или переключения цепочки для ключей.
jm3
17

Чтобы напечатать отпечаток отпечатка бронированного ключа на диске, не импортируя его, просто используйте --with-fingerprint:

> gpg --with-fingerprint jm3.asc

pub  1024R/9112BC51 1996-02-05 john manoogian <jm3@*>
Key fingerprint = C9 DC 27 29 0E 1A DB 50  21 C8 64 08 15 29 41 86

uid                            john manoogian <jm3@foo...
uid                            john manoogian <jm3@bar...
uid                            john manoogian <jm3@baz...
uid                            john manoogian <jm3@qux...

Вуаля!

jm3
источник
Это создаст каталог gnupg и набор ключей по умолчанию, если он не существует. Принятый ответ не имеет такого побочного эффекта.
Этан Рейснер,
--with-fingerprintявляется необязательным .
x-yuri
1
Это больше не работает. Моя версия gpg 2.2.5.
Дэн Милон,
5

Вы можете проверить визуализатор пакетов Kazu Yamamoto PGP, который отображает формат пакетов OpenPGP (RFC 4880) и PGP версии 2 (RFC 1991).

Чтобы получить и скомпилировать:

git clone http://github.com/kazu-yamamoto/pgpdump
cd pgpdump
./configure --prefix=/usr/local/ && make && sudo make install

Использовать его еще проще:

pgpdump pubkey.gpg

На этом сайте также доступен интерфейс cgi-bin: http://www.pgpdump.net/cgi-bin/pgpdump

Клаудио Флореани
источник
1
Это круто! И спасибо товарищу по Haskeller Kazu :) Кстати, pgpdump упакован Debian (и, возможно, другими дистрибутивами), так что проверьте его в репозиториях, прежде чем компилировать его самостоятельно.
Роман Чепляка
3
Там есть что-то похожее на pgpdump, но не этот подробный вывод изgpg --list-packets
JSmith