21

Существует ли какой-либо инструмент для записи фактического содержимого открытого ключа GnuPG таким образом, чтобы человек мог его понять? Я имею в виду не только ascii-armor, который человек может читать и печатать, но что-то, что действительно разбивает данные на большие десятичные числа для криптографической части, строки для UID и так далее? Мне бы очень хотелось посмотреть, что там.

Актуальное приложение сегодня: у меня есть два ключа от одного человека, созданные в одну и ту же дату, но различающиеся по отпечатку пальца. Предполагается, что один из них был создан из другого путем какого-то преобразования, возможно, путем импорта старого ключа в связку ключей с использованием недавнего программного обеспечения. Я хотел бы увидеть, что на самом деле изменилось. Возможно, изменился только алгоритм дактилоскопии, но, возможно, это еще не все.

3 ответа3

19

Пытаться

gpg --list-packets --verbose < pubkey.asc

Он не сбрасывает ключевые данные, но показывает все остальные детали. Чтобы вывести дополнительные части необработанных данных, вам нужен флаг отладки 2, поэтому добавьте --debug 0x02 , и ключи и другие данные будут выгружены в шестнадцатеричном виде. Это работает в версиях GPG 1.2 и 1.4, но, к сожалению, не в 2.0, так как поддержка сброса данных bignum (MPI) не включена (см. DBG_MPI в g10/parse-packet.c) по некоторым причинам.

Также попробуйте pgpdump:

pgpdump < pubkey.asc
3

В ожидании ответов я прочитал RFC4880 (OpenPGP) и нашел собственный код для анализа и печати соответствующей части экспортированного потока пакетов. Далеко не полный, но это может быть полезно для других, поэтому я также публикую это. Прямо сейчас я вижу небольшую выгоду по сравнению с pgpdump, предложенным @grawity, но кто знает ...

2

Я использовал pgpdump, он хорошо работает и показывает хороший читабельный вывод. Он еще не печатает ключи эллиптической кривой, но по крайней мере скажет вам, что это ключ EC. Если вы выберете опцию "dump literals", она покажет вам фактические данные ключа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .