Follow us on:  Google+   

Latest Java Releases

Release 1.50 is now available for download.

This release is primarily a feature release and adds support for client side TLS 1.2 and client side DTLS 1.2, ECDH and ECDSA for the OpenPGP library (RFC 6637), XSalsa20, ChaCha, SM3, Threefish, Skein and Poly1305 MAC to the provider and the lightweight library. The GOST PKCS#5 PBKDF2 PBE function and CryptoPro GOST CFB mode key meshing have also been added, together with support for RFC 6979 deterministic ECDSA. A simplified certificate path API has also been added to the PKIX package to provide people with another option for doing path validation and AEAD support has been added to the JDK15on provider where the JVM supports it. In terms of major bug fixes, CTS mode is now in alignment with the errata for it detailed in RFC 3692, GOST keys now correctly encode with the CryptoPro parameter sets where they are available, the TimeStampRequest stream constructor now sets the extensions field correctly, issues with default RC2 parameter encoding in CMS have been addressed and the DSTU4145 signer now truncates long hashes correctly in all cases (occasionally it used to remove 1 bit extra). Further details on these and other additions and bug fixes can be found in the release notes file accompanying the release.

As always, others have contributed to this release. You can find them listed in the contributors file. We would also like to thank holders of Crypto Workshop support contracts as an additional 20 hours of time was contributed back to this release through left over consulting time provided as part of their support agreements. Thank you, one and all!

For further details on changes and enhancements please see the release notes.

One other note: if you're new to the new style of operator in OpenPGP and CMS and co, a brief document on how they are supposed to hang together is available on the BC wiki. If you think you are likely to do this a lot, you might also be interested in our guide project, which is now available as an initial draft. Please also see the porting guide for advice on porting to this release from much earlier ones (pre 1.46).

If you're interested in grabbing the lot in one hit (includes JCE, JCE provider, light weight API, J2ME, JDK1.2, JDK1.1, and JDK1.0 compatibility classes, signed jars, fries, and king prawns...) download crypto-150.tar.gz or, otherwise if you are only interested in one version in particular, see below.

2013 Fundraiser

The Bouncy Castle APIs are now looked after by a registered Australian Charity, the Legion of the Bouncy Castle, ABN 84 166 338 567. Without considering the costs of actually doing what we do, we're also trying to raise money to allow us to get certifications such as FIPs for the APIs. We can accept donations via PayPal, Bitcoin, or direct transfer. If you value our work, and want to see this project continue to prosper, please visit our donations page to help. Thanks! As a thank you for your donation, we will provide you with a PDF template for the official 2013 Fund Raiser t-shirt, featuring new BC artwork by Geoff Hook. So visit our donations page, you'll not only be becoming part of this historic project, but you'll be able to dress like it to!

If you are interested in sponsoring specific work on Bouncy Castle or getting commercial support for this or prior releases please contact us at Crypto Workshop.

Signed JAR files

From release 1.40 some implementations of encryption algorithms were removed from the regular jar files at the request of a number of users. Jars with names of the form *-ext-* still include these (at the moment the list is: NTRU).

  Provider Clean room JCE
and provider
SMIME OpenPGP/BCPG Test Classes
JDK 1.5 - JDK 1.7 bcprov-jdk15on-150.jar
  bcpkix-jdk15on-150.jar bcmail-jdk15on-150.jar bcpg-jdk15on-150.jar bctest-jdk15on-150.jar
JDK 1.4 bcprov-jdk14-150.jar
  bcpkix-jdk14-150.jar bcmail-jdk14-150.jar bcpg-jdk14-150.jar bctest-jdk14-150.jar
JDK 1.3 bcprov-jdk13-150.jar
bcpkix-jdk13-150.jar bcmail-jdk13-150.jar bcpg-jdk13-150.jar bctest-jdk13-150.jar
JDK 1.2 bcprov-jdk12-150.jar
bcpkix-jdk12-150.jar   bcpg-jdk12-150.jar bctest-jdk12-150.jar

The following signed provider jars are provided so that you can make use of the debug information in them. In the case of the non-provider jars (bcpkix, bcpg, and bcmail), the jar files do not need to be signed to work. You can rebuild them with debug turned on, or operate directly from the source, if you need.

  Providers with debug
JDK 1.5 - JDK 1.7 bcprov-debug-jdk15on-150.jar bcprov-ext-debug-jdk15on-150.jar
JDK 1.4 bcprov-debug-jdk14-150.jar bcprov-ext-debug-jdk14-150.jar

Sources and JavaDoc

JDK 1.5 - JDK 1.7 bcpkix-jdk15on-150.tar.gz
JDK 1.4 bcpkix-jdk14-150.tar.gz
JDK 1.3 bcpkix-jdk13-150.tar.gz
JDK 1.2 bcpkix-jdk12-150.tar.gz
JDK 1.1 bcpkix-jdk11-150.tar.gz

JDK 1.5 - JDK 1.7 bcpg-jdk15on-150.tar.gz
JDK 1.4 bcpg-jdk14-150.tar.gz
JDK 1.3 bcpg-jdk13-150.tar.gz
JDK 1.2 bcpg-jdk12-150.tar.gz
JDK 1.1 bcpg-jdk11-150.tar.gz

JDK 1.5 - JDK 1.7 bcmail-jdk15on-150.tar.gz
JDK 1.4 bcmail-jdk14-150.tar.gz
JDK 1.3 bcmail-jdk13-150.tar.gz

  JCE with provider and lightweight API Lightweight API  
JDK 1.5 - JDK 1.7 bcprov-jdk15on-150.tar.gz lcrypto-jdk15on-150.tar.gz
JDK 1.4 bcprov-jdk14-150.tar.gz lcrypto-jdk14-150.tar.gz
JDK 1.3 jce-jdk13-150.tar.gz lcrypto-jdk13-150.tar.gz
JDK 1.2 jce-jdk12-150.tar.gz lcrypto-jdk12-150.tar.gz
JDK 1.1 jce-jdk11-150.tar.gz lcrypto-jdk11-150.tar.gz
J2ME     lcrypto-j2me-150.tar.gz

  Releases no longer maintained
JDK 1.0 lcrypto-jdk10-133.tar.gz


  1. The tar archives were created using GNU tar (some versions of Solaris tar will have problems extracting them)
  2. The J2ME source distribution includes zips for the class files

You can find the release notes, documentation, and specifications here.

You can find checksums for confirming the integrity of the distributions here

Too slow? You can also find the latest versions on one of our mirrors:

Beta Access
The current working betas, when available, for the next release for JDK 1.3 to JDK 1.7 can be found at If you need a beta to be made available for another version of Java please ask by emailing

Maven Access
The BC jars are now mirrored on the Maven central repository. You can find them at

GIT Access
Just want to look at the source? The source code repository is now mirrored on GitHub and accessible from here. The repository can be cloned using either

git clone
or git protocol
git clone git://

CVS Access
Just want to look at the source? The source code repository is accessible via ViewVC from here

FTP Access
Previous releases, as well as the latest ones, can be downloaded from our ftp server Please note the FTP server does not support passive mode.