sigids.c

Scans a text stream for signatures that have keyids that are NOT on
your keyring (so that you can get them from a keyserver).

This script preprocesses my incoming box
(geturl is distributed with edssl at www.cryptography.org in the SSL dir)

cat ~/mail/incoming | sigids | sort | uniq >keyids.out
if [ -s keyids.out ] ; then
    cat keyids.out >>keyids.all
    echo looking up keys on keyservers
    for i in `cat keyids.out`; do
        geturl http://keys.pgp.com:11371/pks/lookup\?op=get\&search=0x$i >>nextkey.tmp
        if grep title.Public.\*Error nextkey.tmp >/dev/null ; then
            geturl http://swissnet.ai.mit.edu:11371/pks/lookup\?op=get\&search=0x$i >>nextkey.tmp
            if grep title.Public.\*Error nextkey.tmp >/dev/null ; then
                rm -f nextkey.tmp
            fi
        fi
        if [ -s nextkey.tmp ] ; then
            pgpk -a nextkey.tmp
            rm nextkey.tmp
        fi
    done
fi

testsig2.c

Enhanced shell script (to use with pine or other mailer, key on lines
that begin with "-----BEGIN PGP SIGNED MESSAGE-----" and run this.
Upon error(s) writes to stderr and returns nonzero.  Writes good/bad
messages to stdout, so they appear as part of the message.

For pine, use (main)-Setup-Config, and add to display-filters

_BEGINNING("-----BEGIN PGP SIGNED MESSAGE-----")_ <path>testsig2

sktorsa.c

Writes out a PGP secret key to a PEM file for SSLeay.

x509topk.c

Writes out a pgp public key packet from an X509 Cert.

getoptx.c - minimal getopt function if you don't have one