Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A PGP packet visualizer
C C++ Groff Haskell Makefile
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
os/riscos * Removing compiler warnings.
.gitignore adding .gitignore.
CHANGES Update CHANGES for 0.29.
buffer.c fixes compilation bug for environments with libbz2, but without libz * Removing compiler warnings.
configure * Removing compiler warnings.
keys.c Add support for GnuPG extensions in private subkeys
packet.c removing unnecessary trailing spaces.
pgpdump.1 RFC 2440 -> RFC 4880.
pgpdump.h removing unnecessary trailing spaces.
uatfunc.c removing unnecessary trailing spaces.

pgpdump: a PGP packet visualizer


"pgpdump" is a PGP packet visualizer which displays the packet format of OpenPGP (RFC 4880) and PGP version 2 (RFC 1991).

Here is an example:

% pgpdump data/sig1
Old: Marker Packet(tag 10)(3 bytes)
    String - ...
New: One-Pass Signature Packet(tag 4)(13 bytes)
    New version(3)
    Sig type - Signature of a binary document(0x00).
    Hash alg - SHA1(hash 2)
    Pub alg - DSA Digital Signature Algorithm(pub 17)
    Key ID - 0xA79778E247B63037
    Next packet - other than one pass signature
New: Signature Packet(tag 2)(63 bytes)
    Ver 3 - old
    Hash material(5 bytes):
        Sig type - Signature of a binary document(0x00).
        Creation time - Fri Nov 27 22:35:02 JST 1998
    Key ID - 0xA79778E247B63037
    Pub alg - DSA Digital Signature Algorithm(pub 17)
    Hash alg - SHA1(hash 2)
    Hash left 2 bytes - 8f 82
    DSA r(160 bits) - ...
    DSA s(157 bits) - ...
        -> hash(DSA q bits)


Take the following steps to install "pgpdump".

% ./configure
% make
% su
# make install


To know how to use pgpdump, type "pgpdump -h".

Some examples are stored in the "data" directory. Also, you can visualize your pubring and secring.

Home page

The official home page of pgpdump is:


  • pgpdump assumes that a compressed packet continues until the end of the specified file.


The test program is written in Haskell. I recommend to install Haskell Platform if you want to test. After that, please install necessary libraries:

% cabal install test-framework-hunit

Now you can execute the test program:

% cd data
% runghc test.hs
Something went wrong with that request. Please try again.