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, improvements to encoders package, introduction of UrlBase64.
- 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@ibi.com> - generalisations for CMSProcessableBodyPart in S/MIME. Header fix for mime messages.
- 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, getSize() fix for zero length messages in SMIMEMessage.
- 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. Fix for the unexpected "Unexpected end of ZLIB input stream" exception.
- 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, patch to DH key agreement.
- 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, comments on KeyExpirationTime, getBitStrength for ElGamal 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.
- Jun Sun <JSun@diversinet.com> - patch to SecureRandom to work around problem in wtk 1.0.4 and wtk 2.1
- Petr Dukem <pdukem@email.cz> - patch to CMSSignedDataGenerator to allow it to work with PKCS11 providers.
- Filipe Silva <filipe.silva@wedoconsulting.com> - patch to fix overead issue in BCPGInputStream.
- Alpesh Parmar <alps@linuxmail.org> - patch for class cast problem in PGPPublicKey.getSignatures().
- Jay Gengelbach <jgengelbach@webmethods.com> - patch to fix isSigningKey in PGPSecretKey class, patch to hashedPackets in PGP signatureGenerator, initial cut for indefinite length output.
- Doug <doug@tigerprivacy.com> - public key ring patches for ElGamal Signatures, problem key ring data.
- Matthew Mundy <mmundy1@umbc.edu> - infinite loop prevention patch to PKCS5S2ParametersGenerator.
- Tom Cargill <cargill@profcon.com> - spelling patch in provider.
- Breitenstrom Christian <C.Breitenstrom@t-systems.com> - compatability patch to SignaturePacket, DetachedSignatureProcessor.
- Zanotti Mirko <zanotti@cad.it> - patch to ordered equality test for X509Name.
- Nicola Scendoni <nscendoni@babelps.it> - patch to add sorting to CertPath validation.
- Ville Skyttä <ville.skytta@iki.fi> - patch to CRLDistPoint for cRLIssuer field.
- Bruce Gordon <bruce.gordon@savvis.net> - patch to secret key creation encoding NullPointerException in OpenPGP.
- Miles Whiteley <Miles.Whiteley@savvis.net> - "223" fix for BCPGInputStream new packets.
- Albert Moliner <amoliner@evintia.com> - initial TSP implementation.
- Carlos Lozano <carlos@evintia.com> - initial TSP implementation, patch to SignerInformation for supporting repeated signers.
- Javier Delgadillo <javi@javi.codewarp.org> - initial Mozilla PublicKeyAndChallenge classes.
- Joni Hahkala <joni.hahkala@cern.ch> - initial implementations of VOMS Attribute Certificate Validation, IetfAttrSyntax, and ObjectDigestInfo. We also wish to thank the EGEE project for making the work available.
- Rolf Schillinger<rolf@sir-wum.de> - initial implementation of Attribute Certificate generation.
- Sergey Bahtin <Sergey_Bahtin@yahoo.com> - fix for recovering certificate aliases in BKS and UBER key stores. Initial implementations of GOST-28147, GOST-3410, EC GOST-3410, GOST OFB mode (GOFB) and GOST-3411.
- Franck Leroy <Franck.Leroy@pk7.fr> - ANS.1 set sorting. Contributions to TSP implementation.
- Atsuhiko Yamanaka <ymnk@jcraft.com> - patch for improving use of Montgomery numbers in BigInteger library. Patch to use size of private exponent in DH parameters.
- Nickolay Bolshackov <tyrex@reksoft.ru> - patch for class cast exception in AuthorityInformationAccess class.
- Soren Hilmer <soren.hilmer@tietoenator.com> - patches for CertID with issuerSerial set in TSP implementation, additional compliance testing.
- Steve Mitchell <mitchell@intertrust.com> - patch for stateful path validator fix.
- Dirk Eisner <D.Eisner@seeburger.de> - initial implementation of ISO 78164-4 padding.
- Julien Pasquier <julienpasquier@free.fr> - initial implementation of attribute classes from RFC 3126.
- Steve Mitchell <mitchell@intertrust.com> - patch to allow BigInteger class to create negative numbers from byte arrays.
- Matteo <matartuso@libero.it> - sequence patch to ASN1Dump.
- Andrew Paterson <andrew.paterson@burnsecs.com> - patches to PGP tools.
- Vladimir Molotkov <vladimir.n.molotkov@intel.com> - provider exception handling compliance testing.
- Florin Kollan <adlocflo@web.de> - fix to ElGamalKeyParameters equality testing.
- Pavel Vassiliev <paulvas@gmail.com> - Initial GOST28147Mac implementation.
- Tom Pesman <tom@tnux.net> - addition of DES-EDE encryption for RSAPrivate keys to PEMWriter.
- Lukasz Kowalczyk <lukasz.b.kowalczyk@gmail.com> - patch to fix parsing issue with OpenSSL PEM based certificate requests.
- Arndt Hasch <Arndt.Hasch@maxence.de> - additional fix for partial reading with new style PGP packets.