So to generate keys do: gpg --gen-key select 2 (DSA only) choose a key size (eg 1024) don't enter any comment (not implemented comments) don't enter a password. export the public key: % gpg --export > pub.pgp gpg doesn't seem to be able to export private keys so copy the secret keyring with just one key in it: % cp ~/.gnupg/secring.gpg pri.pgp % echo hello world > junk then sign the message with pgpdsa: % pgpdsa -s pri.pgp junk junk.pgp verify the message with pgpdsa: % pgpdsa -v pub.pgp junk.pgp junk.out % diff junk junk.out verify the message with gnuPG: % gpg --verify junk.pgp verify the message with PGP: % pgp junk.pgp and it all works. The code needs a few leaks and buffer overflow opportunities plugging, but this is enough to start with. To create a smaller cert, chop it off in a binary editer 2 bytes before your userid string which you should recognise (email address). You don't need userids for pgpdsa.