Wenn man jemandem ins Pflichtenheft geschrieben hat, daß seine Software unter der Last von 10.000 PGP-Keys nicht schwächeln darf, muß man irgendwann auch mal ins kalte Wasser springen und tatsächlich 10.000 Keys generieren:
#!/bin/sh -e
export LANG=C
for I in `seq 1 10000`
do
NUMBER=`printf "%5.5d\n" $I`
USERNAME="Testuser #$NUMBER"
COMMENT="auto-generated key"
EMAIL="testuser-$NUMBER@pgp-loadtest.example.com"
(
cat <<EOF
%echo Generating Key for $EMAIL
Key-Type: DSA
Key-Length: 1024
Subkey-Type: ELG-E
Subkey-Length: 1024
Name-Real: $USERNAME
Name-Comment: $COMMENT
Name-Email: $EMAIL
Expire-Date: 2009-01-01
Passphrase: foo
%commit
EOF
) | gpg --gen-key --batch --no-default-keyring \
--secret-keyring /var/tmp/gpg-test.sec \
--keyring /var/tmp/gpg-test.pub
done
Die schlechte Nachricht: Spätestens nach dem dritten Key wird GnuPG eine Pause einlegen, weil der Entropie-Pool ausgelutscht ist. Ich habe meine Lösung für dieses Problem gefunden, indem ich (und das ist wirklich sehr, sehr böse, bitte auf keinen Fall zuhause nachmachen) /dev/urandom zu /dev/random umgelötet habe. Kreative alternative Lösungsvorschläge für das schmutzige kleine Entropie-Problem werden auf jeden Fall gern entgegengenommen.