This file contains the PGP keys of various developers that work on
the Apache BSF project.

Please don't use these keys for email unless you have asked the owner
because some keys are only used for code signing.

Please realize that this file itself or the public key servers may be
compromised.  You are encouraged to validate the authenticity of these keys in
an out-of-band manner.

Apache users: pgp < KEYS
Apache developers: 
        (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
      or
        (gpg --fingerprint --list-sigs <your name>
             && gpg --armor --export <your name>) >> this file.

Apache developers: please ensure that your key is also available via the
PGP keyservers (such as pgpkeys.mit.edu).

pub   1024D/DBA46329 2007-03-26
uid                  Ant Elder (Code Signing Key) <antelder@apache.org>
sub   2048g/6111A77F 2007-03-26

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (MingW32)

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
Vw==
=JGPj
-----END PGP PUBLIC KEY BLOCK-----
