The following people have contributed to the Bouncy Castle Cryptography Package.

Thanks, may your castles never deflate!

- Tito Pena <Fortunato.Pena@AdNovum.CH> - initial RC5 implementation
- Michael Lee <yfl@mira.net> - initial RC6 implementation, MD2 implementation
- Nuno Santos <nsantos@student.dei.uc.pt> - finding toString bug in certificate object.
- Brett Sealey <bretts@mortbay.com> - fixing the missing return problem in JDKKeyFactory (affected SSLeay private keys).
- Victor A. Salaman <salaman@teknos.com> - fixing the bug in Cipher.java which caused it to ignore specified providers, fixing the bug in RSAKeyGenerator which caused keys to be occasionally produced 1 bit too small.
- Eran Librach <eranl@valicert.com> - spotting and fixing the classLoader bug that occurs if javax.crypto and the provider aren't sharing the same classpath (occurs in JDK 1.3 and greater).
- Jonathan Knudsen <jonathan@LearningPatterns.com> - porting information and restrictions when using the lightweight library with the MIDP environment.
- Markus Niedermann <markus.niedermann@softwired-inc.com> - porting information and restrictions when using the lightweight library with the MIDP environment.
- Mike Benham <moxie@thoughtcrime.org> - detection and fixing of an incorrect weak key in the DES key generation support classes. Suggestions for simplifying DESedeParameter objects. Optimisations for the Blowfish engine and BufferedBlockCipher class.
- Soren Hilmer <hilmer@mail.tele.dk> - initial implementation of netscape certificate request classes.
- Uwe Guenther <uwe@cscc.de> - detection and fixing of 3 incorrect semi-weak keys in the DES key generation support classes.
- Markus Bradtke <mab@informatik.uni-kiel.de> - fixing of a logic error in the JDKKeyStore class.
- Waclaw Sierek <waclaw.sierek@tpg.pl> - fix to setOddParity in the DESParameter class. Assistance with adding ordering to X509 names for certificate generation, proper processing of byte strings in the ASN1 package, further simplifications and additional classes to improve pkcs7 support, bug fixes in CertPath API.
- Ly-Na Phu <lyna.phu@init-consulting.de> - assistance in the addition of ISO 9796-1 padding.
- Stefan Köpsell <sk13@mail.inf.tu-dresden.de> - making the jdk 1.1 version of the collections API available. For further details see http://sourceforge.net/projects/jcf/
- Carmen Bastiaans <cbastiaa@microbits.com.au> - fixing the improper null pointer problem in the setting of certifcates in the PKCS12 key store.
- Tomas Gustavsson <tomasg@primekey.se> - initial implementation of the AuthorityInformationAccess, SubjectKeyIdentifier, AuthorityKeyIdentifier, CRLNumber, CRLReason, CertificatePolicies, V2TBSCertListGenerator, and X509V2CRLGenerator classes in the ASN.1 library. Additions to GeneralName class, other bug fixes in the X.509 package. Initial implementation of the CertificationRequest classes. getRevocationReason() patch for OCSP.
- Eugen Kuleshov <euxx@hotmail.com> - optimisations for Blowfish, assitance with PKCS12/keytool interoperability.
- Megan Woods <meganwoods@sekurafile.com> - initial implimentation of ECIES.
- Christian Geuer-Pollmann <geuerp@apache.org> - adding IV's to the AESWrap implementations. Initial implementation of DESedeWrap.
- Michael Mühle <nomsg@mouling.de> - fixing provider bug in JDK 1.1 java.security.cert.CertificateFactory compatibilty class.
- Michael Mansell <me@michaelmansell.com> - fixing the parsing of the empty DER set in the ASN.1 library.
- Eike Recker <eike.recker@gmx.de> - fixing mispelling of provider refernce for RSA/1 and RSA/2.
- Chris Southern <CSouthern@baltimore.com> - fixing misuse of specified provider in the PKCS10 certification request class.
- Sidney Markowitz <sidney@sidney.com> - fixing null pointed exception on unknown OID in X509Name class, initial implementation of the three AES engines.
- Chris Kerr <ckerr@filonet.ca> - initial implementation of the cms, asn1.cms, and the mail/smime packages, assistance in simplifying the ASN.1 package, miscellaneous other optimisations, NIST CertPath certification test, PKIXPolicyNode class, CertPath subtree validation and policy tree construction. We also wish to acknowledge the generosity of Filonet Corporation for allowing Chris to make the initial cms and mail/smime packages available to us.
- Mike Bean <mbean@lucentradius.com> - fixing the fall through bug in the IV algorithm parameters class.
- Martin Petraschek <e9526225@student.tuwien.ac.at> - fixing ASN1 tagging so tag values up to 30 are now supported.
- Jess Garms <jgarms@yahoo.com> - fixing 112/168 key size bug for DESede key generation.
- Mike Bremford <mike@big.faceless.org> - contributing the inital PKCS7 implementation.
- Shankar Srinivasan <ssr002@yahoo.com> - S/Mime interoperability testing and debugging.
- Michael M&ühle <michael#064;mouling.de> - contributing the initial CertPath implementation and compatibility classes.
- Stef Hoeben <ilsestef@skynet.be> - adding Montgomery multiplication to the BigInteger class.
- Klaudiusz Ciosk <kciosk@max.com.pl> - improving the compatibility of the SMIME package with the Sun JCE.
- Thomas Houtekier <Thomas.Houtekier@tectrade.net> - S/Mime testing and debugging. Interoperability with Biztalk.
- Don Hillsberry <hillsber@dialcorp.com> - S/Mime testing and debugging.
- Kazuo Furuya <kfuruya@infoteria.co.jp> - fixing root certificate chaining bug in PKCS12 key store.
- Jason Novotny <jdnovotny@lbl.gov> - initial work on the openSSL PEM processing.
- Joel Hockey <joel.hockey@qsipayments.com> - initial work on the openSSL PEM processing.
- John Steenbruggen <JohnS@geotrust.com> - fixing CertificationRequestInfo to handle cert request info objects without attribute blocks.
- Justin Chapweske <justin@chapweske.com> - ordering patch for Tiger message digest.
- John Serock <jserock@hotmail.com> - fixing null pointer exception in constructor for ExtendedKeyUsage. Fixing of base OID bug in KeyPurposeId. Compliance of KeyUsage extension return value with security API.
- Sascha Weinreuter <Sascha.Weinreuter@cit.de> - fixed SMIME saveChanges() bug.
- Andre Wehnert <aw5@mail.inf.tu-dresden.de> - fixing key schedule problem in RC5-64, fixing buffer cleaning issue in buffered block cipher.
- Luigi Lo Iacono <lo_iacono@nue.et-inf.uni-siegen.de> - adding SIC mode to the blockciphers in the provider.
- Tim Sakach <tsakach@certivo.net> - SMIME v2 compatibility patches.
- Marcus Povey <mpovey@brookes.ac.uk> - adding the PGP mode to the lightweight API and the provider.
- Sebastian Clauß <sc2@inf.tu-dresden.de> - adding randomness setting to the certificate and CRL generators.
- Nicolas Bielza <nicolas.bielza@alligacom.com> - isolating the tagging bug in the ASN.1 library that was misrepresenting some ASN.1 constructed data types.
- Casey Marshall <rsdio@metastatic.org> - fixing the clone problem with Macs in the clean room JCE.
- Rick Zeldes <rick.zeldes@eds.com> - initial code for CMS/SMIME CompressedData.
- Jarek Gawor <gawor@mcs.anl.gov> - fixing ASN.1 sequence unpacking in BasicConstraints constructor.
- Brett Neumeier <random@rnd.cx> - patch to OriginatorIdentifierOrKey object.
- Graham Coles <graham.coles@retail-logic.com> - patch to isParityAdjusted in DESKeySpec.
- Jörn von Kattchée <J.Kattchee@seeburger.de> - patch to SMIMEGenerator for preventing class cast exceptions with BodyParts containing Multipart objects.
- Matteo Artuso <matartuso@libero.it> - picking up the possible overead in ASN1InputStream
- Julian Morrison <julian@extropy.demon.co.uk> - spotting the slow down in Diffie-Hellman key generation
- Elmar Sonnenschein <eso@esomail.de> - fix to long conversion in clean room SecureRandom.
- Jörn Schwarze <JSchwarze@ulc.de> - Locale fix for the clean room JCE.
- Bryan Lovquist <bkl@cps.com.au> - Other provider compatibility fixes for CMS signing.
- Artem Portnoy <Artem_Portnoy@iwaysoftware.com> - generalisations for CMSProcessableBodyPart in S/MIME.
- Michael Häusler <haeusler@ponton-consulting.de> - missing OID update for SHA1 with RSA Signature.
- Johan Seland <johans@netfonds.no> - general toString for BigInteger class.
- Johannes Nicolai <johannes.nicolai@novosec.com> - further enhancements to OCSP response generation, fix to CertificateID issuer.
- Marc Doberva <marc.doberva@ilex-si.com> - help in isolating the JSSE/BC RSA key issue.
- Jan Dvorak <jan.dvorak@mathan.cz> - initial implementation of the light weight Null block cipher.
- Joe Cohen <jcohen@forumsys.com> - converting the ArrayOutOfBoundsException in DERInputStream into what it should have been.
- Chris Long<aclong@ece.cmu.edu> - adding public key decoding to PEMReader.
- Hes Siemelink<hes@izecom.com> - findIssuer fix for CertPathBuilder, toMimeMessage converter for Mail API.
- Stefan Puiu<stefanpuiuro@yahoo.com> - initial implementation V3 policy mapping, policy qualifier objects in ASN.1 X.509 package.
- Kaiser Yang <kaiseryang@yahoo.com> - Finding BigInteger loop problem in prime generation.
- Jiri Urbanec <jiri.urbanec@logicacmg.com> - patch to fix defect in DERBMPString.equals().
- Justin Kolb <jkolb@pristx.com> - patch to DSA signature generation in OpenPGP.
- Ralf Hauser <ralfhauser@gmx.ch> - patch to exception handling in PublicKeyRing, 1.4 build script.
- Michal Dvorak <M_Dvorak@kb.cz> - getNextUpdate patch for OCSP SingleResp.
- Klaus Greve Fiorentini <Klaus@cpqd.com.br> - array fix in PGP PublickKeyEncSessionPacket.
- Olivier Refalo <Olivier_Refalo@fpl.com> - null pointer exception fix for JDK 1.3 CMSSignedData objects.
- Mariusz Bandola <mariusz.bandola@cryptotech.com.pl> - patch to DERGeneralizedTime. Compliance patch for OCSP TBSRequest class.
- Brien Oberstein <brien.oberstein@transacttools.net> - patch to S2K algorithm in OpenPGP, initial PGP version 3 secret key support, initial PGP version 3 signature generation, RIPEMD160 addition to PGPUtil.
- Ian Haywood <ian@haywood.bpa.nu> - addition of getSignatureType to PGPSignature.
- Jonathan Edwards <s34gull@mac.com> - initial support for reading multiple rings from a PGP key file.
- Andrew Thornton <andrew@caret.cam.ac.uk> - patch for RSA PUBLIC KEY in PEMReader.
- Gregor Leander <gl@bos-bremen.de> - initial parsing of multiple sequence entries in an X.500 Name.
- Antoon Bosselaers <Antoon.Bosselaers@esat.kuleuven.ac.be> - help with RipeMD320 implementation.
- Peter Sylvester <Peter.Sylvester@edelweb.fr> - improvements to the ASN.1 BasicConstraints object.
- Doug <ummmmm@myrealbox.com> - addition of isEncryptionKey method to OpenPGP public keys.
- Francois Staes <fstaes@netconsult.be> - improvements to DEBitString, DERGeneralizedTime and initial implimentation of DERGeneralString, addition of settable signed content info to CMSSignedDataGenerator.
- W.R. Dittmer <wdittmer@cs.vu.nl> - patch to decoding of SignatureCreationTime in BCPG. Patch to PGPKeyPair to fix nullpointer exception.
- Perez Paz Luis Alberto <laperez@banxico.org.mx> - patch to use of BitString in X.500 name.
- James Wright <James_Wright@harte-hanks.com> - patches for dealing with "odd" ArmoredInputStreams.
- Jim Ford <jim@thomasshepherdinn.com> - patch to PGPSecretKey to avoid null pointer exception on encoding secret keys.
- Michael Hausler <haeusler@ponton-consulting.de> - extra aliases for provider.
- Sai Pullabhotla <psai@linoma.com> - fix to PGP compressed data generator to improve compression levels.
- Joseph Miller <joseph@digiweb.net.nz> - addtion a ZeroBytePadding.
- Lars <xyz@sagemdenmark.dk> - patch to explicit padded mode for CBC block cipher MAC.
- Jeroen van Vianen <jeroen@vanvianen.nl> - the Signed and Encrypted mail example.