#!/bin/sh # This script either sends or receives public keys to (or from) all the # OpenPGP keyservers. Name it either 'recv-keys' or 'send-keys' and use a # hard link to the other name. # Call it thusly: 'recv-keys [ ...] prog=`basename $0` >& /dev/null echo $prog # WARNING: Security hole here. rm -rf /tmp/keys mkdir /tmp/keys # wwwkeys.at.pgp.net removed because the connection's always refused. # wwwkeys.es.pgp.net removed because it seems to be timing out. for ip in `( for server in \ adler.dlrg.de \ belgium.keyserver.net \ ds.carnet.hr \ gnv.us.ks.cryptnet.net \ keys.iif.hu \ keys.pgpi.net \ keyserver.kjsl.com \ keyserver.linux.it \ keyserver.topnet.de \ minf.vub.ac.be \ ms.pgp.cz \ palunko.srce.hr \ pgp.dtype.org \ pgp.es.net \ pgp.escomposlinux.org \ pgp.loxinfo.co.th \ pgp.lsi.upc.es \ pgp.mit.edu \ pgp.ndlug.nd.edu \ pgp.nic.ad.jp \ pgp.rasip.fer.hr \ pgp.rediris.es \ pgp.surfnet.nl \ pgp.uk.demon.net \ pgp.uni-mainz.de \ pgp.zdv.uni-mainz.de \ pgpkeys.mit.edu \ pgpkeys.tuwien.ac.at \ pks.pgp.cz \ stinkfoot.org \ the.earth.li \ www.keyserver.de \ www.keyserver.net \ www.rediris.es \ wwwkeys.at.pgp.net \ wwwkeys.ch.pgp.net \ wwwkeys.de.pgp.net \ wwwkeys.es.pgp.net \ wwwkeys.eu.pgp.net \ wwwkeys.nl.pgp.net \ wwwkeys.pgp.net \ wwwkeys.uk.pgp.net \ wwwkeys.us.pgp.net \ ; \ do host $server | grep " A " | cut -d ' ' -f 3 done ) | sort -u`; do echo " " echo ------------------ $ip ------------------ echo " " gpg --lock-once --keyring /tmp/keys/$ip.gpg --no-default-keyring --keyserver $ip --recv-keys $* & done wait gpg --keyring trust.gpg --no-default-keyring --fast-import /tmp/keys/*.gpg #rm -r /tmp/keys