Michal Čihař - Update PGP klíčů

Update PGP klíčů

Už mě začalo silně štvát, že na jednom počítači se některé klíče tváří jako důvěryhodné a druhém ne a rozhodl se, že je konečně na čase napsat nějaké rozumné updatování PGP klíčů včetně těch co je podepisují.

Předpokládám, že vynalézám kolo a něco takového už napsalo mnoho lidí přede mnou, ale nějak jsem to nebyl schopný najít a napsat to nezabralo zas tolik času :-).

 #!/bin/sh -e

if [ "$#" -ne 1 ] ; then
    echo usage `basename $0` ID
    exit 1
fi

# function used for grabbing keys, we limit number of keys received at once
# not to flood keyserver and connection.
getkeys()
{
    echo $1 | xargs -n 50 gpg --recv-keys --no-auto-check-trustdb
}

# Download key we're updating
getkeys "$1"

# List signatures of that key
sigs=`gpg --list-sigs $1 | grep '^sig' | awk '{print $2}' | grep '[A-F0-9]\{8\}' | sort -u`

# Dowload keys that sign updated key
getkeys "$sigs"

# List signatures of keys that sign updated key
sigs=`gpg --list-sigs $sigs | grep '^sig' | awk '{print $2}' | grep '[A-F0-9]\{8\}' | sort -u`

# Download all those signatures
getkeys "$sigs"

# Check trustdb at the end, this is long operation
gpg --check-trustdb

PS: Když na to teď koukám, tak je mi jasné, že nějaký ten grep by se dal ušetřit, ale na to jsem moc líný :-).