Удобочитаемый дамп открытого ключа gpg

22

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

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

MVG
источник
Я нашел все предложенные ответы, прежде чем перейти к этому вопросу. К сожалению, это все еще неприятно, что человек «читабелен», особенно когда ключ имеет много подписей. Я действительно ожидал, что gpg2 с готовностью предоставит эту информацию в какой-то show-keyкоманде :-(
Bluehorn

Ответы:

20

Пытаться

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
mr.spuratic
источник
Выглядит хорошо, но некоторые данные по-прежнему опускаются: некоторые вещи сокращенно обозначаются как [1024 bits]«лайки». Я хотел бы увидеть эти биты. Я знаю, что вы написали, что они не включены.
MvG
1
Нашел его, флаг отладки 2, обновил.
Мистер Спуратик
Этот флаг отладки не работает для меня, по некоторым причинам. Он печатает сообщение о включенном флаге, но не печатает отладочную информацию для него. Вероятно, придется поискать источники, чтобы выяснить, почему ... @grawity: pgpdump очень похоже на то, что я имел в виду, спасибо. Любая конкретная причина, по которой вы решили отредактировать существующий ответ вместо публикации нового. В конце концов, это разные предложения, у каждого из которых есть свои достоинства и недостатки, поэтому пользователи могут голосовать самостоятельно.
MvG
3
Этот флаг отладки предназначен для отладки MPI (bignum) ( DBG_MPI), он работает, как указано в GPG 1.2 / 1.4, но он не поддерживается должным образом в GPG 2.0.x (закомментирован в g10/parse-packet.c), рядом с ним стоит «FIXME» ... @ спасибо за отзыв pgpdump, выглядит полезным.
mr. Spuratic
4

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

MVG
источник
2

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

Брайан Минтон
источник
pastebin.com/pRezWQfP - пример вывода с использованием моего открытого ключа.
Брайан Минтон
1
Кажется, что сайт исчез, просто некоторые доменные сквоттеры там сейчас ...
npostavs
Да, похоже так.
Брайан Минтон