Czytelny dla człowieka zrzut klucza publicznego gpg


22

Czy istnieje narzędzie do wypisywania rzeczywistej zawartości klucza publicznego GnuPG w sposób, który nie jest w stanie zrozumieć człowiek? Mam na myśli nie tylko zbroję ascii, którą człowiek może czytać i pisać, ale coś, co naprawdę rozkłada dane na duże liczby dziesiętne dla części kryptograficznej, ciągów dla identyfikatorów UID i tak dalej? Naprawdę chciałbym zobaczyć, co tam jest.

Rzeczywista aplikacja dzisiaj: Mam dwa klucze od tej samej osoby, utworzone w tym samym dniu, ale różniące się odciskiem palca. Zakładamy, że jeden z nich został utworzony z drugiego przez jakąś konwersję, prawdopodobnie przez zaimportowanie starszego klucza do pęku kluczy przy użyciu najnowszego oprogramowania. Chciałbym zobaczyć, co się zmieniło. Być może zmienił się tylko algorytm odcisków palców, ale może jest coś więcej.


Znalazłem wszystkie sugerowane odpowiedzi przed przejściem do tego pytania. Niestety, wciąż jest to do bycia „czytelne dla człowieka”, szczególnie gdy klucz ma wiele podpisów. Naprawdę spodziewałem się, że gpg2 z łatwością poda te informacje jakimś show-keypoleceniem :-(
Bluehorn

Odpowiedzi:


20

Próbować

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

Nie zrzuca kluczowych danych, ale pokazuje wszystkie pozostałe szczegóły. Aby zrzucić dodatkowe surowe części danych, potrzebujesz flagi debugowania 2, więc dodaj --debug 0x02, to zrzuci klucze i inne dane w postaci szesnastkowej. Działa to w GPG w wersjach 1.2 i 1.4, ale niestety nie w 2.0, ponieważ z jakiegoś powodu obsługa zrzutu bignum (MPI) nie jest włączona (patrz DBG_MPIw g10/parse-packet.c).

Spróbuj także pgpdump :

pgpdump < pubkey.asc

Wygląda dobrze, ale wciąż pomija niektóre dane: niektóre rzeczy są skracane jako [1024 bits]lub podobne. Chciałbym zobaczyć te kawałki. Wiem, że napisałeś, że nie są uwzględnione.
MvG

1
Znaleziono, flaga debugowania 2, zaktualizowana.
mr. Spuratic

Ta flaga debugowania z jakiegoś powodu nie działa dla mnie. Drukuje komunikat informujący o włączeniu flagi, ale nie drukuje informacji o debugowaniu. Prawdopodobnie będę musiał przeszukać źródła, aby dowiedzieć się, dlaczego… @grawity: pgpdump wygląda bardzo podobnie do tego, co miałem na myśli, dziękuję. Jakikolwiek konkretny powód, dla którego zdecydowałeś się edytować istniejącą odpowiedź zamiast publikować nową. W końcu obie są różnymi sugestiami, z których każda ma swoje zalety i wady, więc użytkownicy mogą chcieć głosować niezależnie.
MvG

3
Ta flaga debugowania służy do debugowania MPI (bignum) ( DBG_MPI), działa jak wskazano w GPG 1.2 / 1.4, ale nie jest poprawnie obsługiwana w GPG 2.0.x (jest skomentowana g10/parse-packet.c) z napisem „FIXME” ... @ dzięki grawitacji za napiwek pgpdump, wygląda przydatnie.
mr. Spuratic

4

W oczekiwaniu na odpowiedzi przeczytałem RFC4880 (OpenPGP) i wymyśliłem własny kod do parsowania i drukowania odpowiedniej części wyeksportowanego strumienia pakietów. Daleki od ukończenia, ale może być przydatny dla innych, więc również to zamieszczam. W tej chwili widzę niewielką przewagę nad tym pgpdump sugerowanym przez @grawity, ale kto wie…


2

Użyłem pgpdump Działa dobrze i pokazuje ładne wyniki czytelne dla człowieka. Nie wypisuje jeszcze kluczy krzywej eliptycznej, ale przynajmniej powie ci, że jest to klucz EC. Jeśli wybierzesz opcję „zrzutu literałów”, pokażą ci rzeczywiste kluczowe dane.


pastebin.com/pRezWQfP jest przykładem danych wyjściowych używających mojego klucza publicznego.
Brian Minton

1
Wygląda na to, że strona zniknęła, teraz są tam tylko niektórzy squattersi domen ...
npostavs

Tak, tak to wygląda.
Brian Minton
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.