Informationen aus einer gepanzerten GPG-Datei mit öffentlichem Schlüssel abrufen


21

Bei Angabe einer Datei mit einem gepanzerten öffentlichen GnuPG-Schlüssel, dh einer Datei ( pubkey.gpg), die erstellt wurde mit:

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

Was ist der beste Weg, um Informationen wie den Fingerabdruck in dieser Datei abzurufen, ohne ihn in meinen Schlüsselbund zu importieren?

Der beste Weg, den ich bisher gefunden habe (und mit dem ich nicht zufrieden bin) ist:

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

Natürlich habe ich die gpg-Manpage durchgesehen, aber keine offensichtliche Lösung gefunden.

Antworten:


7

Ich weiß nicht, ob gpg eine Option dafür hat, aber hier ist eine flexiblere Lösung zum Extrahieren von Informationen aus der Schlüsseldatei:

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

Anstelle der GNUPGHOMEUmgebungsvariablen können Sie --homedir=temp-gnupg-dirjeden gpg-Aufruf übergeben.


Das ist nicht schön, aber es ist nützlich zu wissen, welche Optionen nicht verfügbar sind, und dies ist eine Lösung. Dafür danke ich Ihnen.
Chen Levy

1
Während dies funktioniert, ist es viel komplizierter als nötig. Unten habe ich geschrieben, wie es geht, ohne dass ein Schlüsselbund importiert oder gewechselt wird.
jm3

17

Um den Fingerabdruck eines gepanzerten Schlüssels auf der Festplatte zu drucken, ohne ihn zu importieren, verwenden Sie einfach --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...

Voilà!


Dadurch werden ein Gnupg-Verzeichnis und ein Standardschlüsselring erstellt, falls keiner vorhanden ist. Die akzeptierte Antwort hat diesen Nebeneffekt nicht.
Etan Reisner

--with-fingerprintist optional .
x-yuri

1
Das funktioniert nicht mehr. Meine gpg-Version ist 2.2.5.
Dan Milon

5

Sie können den PGP-Paketvisualisierer von Kazu Yamamoto auschecken, der das Paketformat von OpenPGP (RFC 4880) und PGP Version 2 (RFC 1991) anzeigt.

So holen und kompilieren Sie:

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

Die Benutzung ist noch einfacher:

pgpdump pubkey.gpg

Auf dieser Website ist auch eine CGI-Bin-Schnittstelle verfügbar: http://www.pgpdump.net/cgi-bin/pgpdump


1
Das ist fantastisch! Und ein großes Lob an einen Kollegen von Haskeller Kazu :) Übrigens, pgpdump wird von Debian (und möglicherweise auch anderen Distributionen) gepackt, also checken Sie es in den Repositories, bevor Sie es selbst kompilieren.
Roman Cheplyaka

3
Es gibt eine ähnliche Ausgabe wie pgpdump, aber nicht die ausführliche Ausgabe vongpg --list-packets
JSmith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.