Latest Java Releases

Release 1.49 is now available for download.

This release is primarily a feature release and adds support for server/client side TLS 1.1 and server/client side DTLS 1.0, the SipHash MAC algorithm, the 4 DRBGs specified in NIST SP 800-90A, OCB mode and the GMAC algorithm (NIST SP 800-38D). In addition, it is now possible to store OCSP objects in CMS SignedData and parameter and key generation is now fully supported for the keys sizes specified in DSA 2. Support has also been added the SHA-512/t digest varients, including SHA-512/224 and SHA-512/256 in the provider. The OpenPGP API now supports password changing for V3 keys, and memo support has been added to the lightweight message digest implementations. Issues fixed include an occasional ArrayOutOfBoundsException that could occur in DTSU-4145 signatures, as well as better handling escape characters in X.500 names, and explicit EC curve parameters in PEM files. DERT61String has been reverted to encode T61 Strings using 8 bit characters as it did prior to 1.48.

As always, others have contributed to this release. You can find them listed in the contributors file. We would like to make a special mention of our corporate sponsors, in particular Voxeo Labs who sponsored the work on TLS 1.1 and DTLS 1.0, it made a big difference to how much time we could devote to this release. Thank you, one and all!

For further details on changes and enhancements please see the release notes. If you are interested in sponsoring work on Bouncy Castle or getting commercial support for this or prior releases please contact us at Crypto Workshop.

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-149.tar.gz or crypto-149.zip, otherwise if you are only interested in one version in particular, see below.

Signed JAR files

From release 1.40 the implementation of the IDEA encryption algorithm was removed from the regular jar files at the request of a number of users. Jars with names of the form *-ext-* still include the IDEA implementation as well as NTRU.

  Provider Clean room JCE
and provider
PKIX/CMS/EAC/PKCS
OCSP/TSP/OPENSSL
SMIME OpenPGP/BCPG Test Classes
JDK 1.5 - JDK 1.7 bcprov-jdk15on-149.jar
bcprov-ext-jdk15on-149.jar
  bcpkix-jdk15on-149.jar bcmail-jdk15on-149.jar bcpg-jdk15on-149.jar bctest-jdk15on-149.jar
JDK 1.4 bcprov-jdk14-149.jar
bcprov-ext-jdk14-149.jar
  bcpkix-jdk14-149.jar bcmail-jdk14-149.jar bcpg-jdk14-149.jar bctest-jdk14-149.jar
JDK 1.3 bcprov-jdk13-149.jar
bcprov-ext-jdk13-149.jar
jce-jdk13-149.jar
jce-ext-jdk13-149.jar
bcpkix-jdk13-149.jar bcmail-jdk13-149.jar bcpg-jdk13-149.jar bctest-jdk13-149.jar
JDK 1.2 bcprov-jdk12-149.jar
bcprov-ext-jdk12-149.jar
jce-jdk12-149.jar
jce-ext-jdk12-149.jar
bcpkix-jdk12-149.jar   bcpg-jdk12-149.jar bctest-jdk12-149.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-149.jar bcprov-ext-debug-jdk15on-149.jar
JDK 1.4 bcprov-debug-jdk14-149.jar bcprov-ext-debug-jdk14-149.jar

Sources and JavaDoc

  PKIX/CMS/EAC/PKCS/OCSP/TSP/OPENSSL
JDK 1.5 - JDK 1.7 bcpkix-jdk15on-149.tar.gz bcpkix-jdk15on-149.zip
JDK 1.4 bcpkix-jdk14-149.tar.gz bcpkix-jdk14-149.zip
JDK 1.3 bcpkix-jdk13-149.tar.gz bcpkix-jdk13-149.zip
JDK 1.2 bcpkix-jdk12-149.tar.gz bcpkix-jdk12-149.zip
JDK 1.1 bcpkix-jdk11-149.tar.gz bcpkix-jdk11-149.zip

  OpenPGP/BCPG
JDK 1.5 - JDK 1.7 bcpg-jdk15on-149.tar.gz bcpg-jdk15on-149.zip
JDK 1.4 bcpg-jdk14-149.tar.gz bcpg-jdk14-149.zip
JDK 1.3 bcpg-jdk13-149.tar.gz bcpg-jdk13-149.zip
JDK 1.2 bcpg-jdk12-149.tar.gz bcpg-jdk12-149.zip
JDK 1.1 bcpg-jdk11-149.tar.gz bcpg-jdk11-149.zip

  SMIME
JDK 1.5 - JDK 1.7 bcmail-jdk15on-149.tar.gz bcmail-jdk15on-149.zip
JDK 1.4 bcmail-jdk14-149.tar.gz bcmail-jdk14-149.zip
JDK 1.3 bcmail-jdk13-149.tar.gz bcmail-jdk13-149.zip

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

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

NOTE:

  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

Mirrors
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 http://www.bouncycastle.org/betas. If you need a beta to be made available for another version of Java please ask by emailing feedback-crypto@bouncycastle.org.

Maven Access
The BC jars are now mirrored on the Maven central repository. You can find them at http://repo2.maven.org/maven2/org/bouncycastle.

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
https:

git clone https://github.com/bcgit/bc-java.git
or git protocol
git clone git://github.com/bcgit/bc-java.git

CVS Access
Just want to look at the source? The source code repository is accessible via ViewVC from here IMPORTANT: CVS will be discontinued with the release of 1.50.

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