For ages I've wanted a plugin for Siesta that, given the public keys of subscribers and a public-key/private-key pair for a list will reject any non-signed, non-encrypted mail posted and then sign and encrypt each mail sent out to list members.
I even sat down and tried to do it a couple of times.
Then Simon Cozen's mentioned that it'd be really useful for missionaries and so the might Mr Clamp
gave it a go And then he gave up because as the comment says
# XXX ALL GPG/Mail modules SUCK!
The biggest problem being that they have no way of you saying
my $object = GPG::Object->new($mail->body);
my $plain_text = $object->decrypt($private_key);
my $is_signed = $object->is_signed($someones_public_key);
my $other = GPG::Object->new($plain_text);
$other->sign($private_key);
my $encrypted = $other->encrypt($someones_public_key);
and instead rely on getting a key out of a store via a key-id which, I suppose, is a throw back to the fact that they're most wrappers round gpg.
I sense Yak Shaving in the future.