Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When given a file with an armored public GnuPG key, i.e. a file (pubkey.gpg) that was created with:

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

What is the best way to get information such as the finger print in that file, without importing it into my keyring?

The best way I found so far (and I am not happy with) is:

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

Naturally, I grepped the gpg man page, but didn't find an obvious solution.

share|improve this question

3 Answers 3

up vote 3 down vote accepted

I don't know that gpg has an option for this, but here's a more flexible workaround for extracting information from the key file:

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

Instead of the GNUPGHOME environment variable, you can pass --homedir=temp-gnupg-dir to every gpg invocation.

share|improve this answer
    
This is not pretty, but it is useful to know what options are not available, and this is a solution. So I thank you for that. –  Chen Levy Aug 8 '10 at 13:27
1  
While this will work, it's way more complicated than necessary. Below I posted how to do it without any of the importing or keychain switching. –  jm3 Nov 17 '13 at 3:17

To print the fingerprint of an on-disk armored key without importing it, just use --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à!

share|improve this answer
    
This will create a gnupg directory and a default keyring if one does not exist. The accepted answer does not have that side-effect. –  Etan Reisner Aug 11 at 3:30

You can checkout Kazu Yamamoto's PGP packet visualizer which displays the packet format of OpenPGP (RFC 4880) and PGP version 2 (RFC 1991).

To fetch and compile:

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

Using it is even simpler:

pgpdump pubkey.gpg

There is also a cgi-bin interface available on this site: http://www.pgpdump.net/cgi-bin/pgpdump

share|improve this answer
    
This is awesome! And kudos to a fellow Haskeller Kazu :) BTW, pgpdump is packaged by Debian (and possibly other distros, too), so check it in the repositories before compiling it yourself. –  Roman Cheplyaka Mar 1 at 7:33
    
There's a similar to pgpdump but not that verbose output from gpg --list-packets –  JSmith May 21 at 7:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.