Follow us on:  Google+   

Latest Java Releases

Release 1.58 is now available for download.

The main focus in this release is on features. Considerable work has been done on improving the BCJSSE provider and its associated DTLS/TLS API, as well as trying to make it easier to debug when things go wrong. XMSS and XMSS^MT support is now added to the BCPQC provider, GOST3410-2012 has been added, including key agreement/transport and CMS support is now provided for ECDH GOST3410 key transport messages. The DSTU-7564 message digest and the DSTU-7624 cipher (Kalyna) have also been added, along with support for their associated modes. In terms of bug fixes, keys for BCPQC algorithms can now be correctly created off certificates, a stack overflow error that could occur in conjunction with the BC DEFAULT SecureRandom has been fixed, an edge condition in IV processing for GOFB mode has been dealt with, and ANSSI curves are now recognised in PKCS#10 requests and certificate parsing. Some additional usage issues with SM2 signing have also been fixed.

Further details on other additions and bug fixes can be found in the release notes file accompanying the release.

Change Warning (users of 1.52 or earlier): The PEM Parser now returns an X509TrustedCertificate block when parsing an openssl trusted certificate, the new object was required to allow the proper return of the trusted certificate's attribute block. Please also see the porting guide for advice on porting to this release from much earlier ones (release 1.45 or earlier).

Others have contributed to this release, both with code and/or financially and you can find them listed in the contributors file. We would also like to make a special mention of Micro Focus for helping support further work on the TLS and JSSE APIs. We would also like to thank holders of Crypto Workshop support contracts for additional time that was contributed back to this release through left over consulting time provided as part of their support agreements. Thank you, one and all!

If you're interested in grabbing the lot in one hit (includes JCE, JCE provider, light weight API, J2ME, range of JDK compatibility classes, signed jars, fries, and king prawns...) download crypto-158.tar.gz or crypto-158.zip, otherwise if you are only interested in one version in particular, see below. Early access to our FIPS hardened version of the Java APIs is now available as well, BC-FJA 1.0.1 has almost completed testing, contact us at office@bouncycastle.org for further information.

Get the most out of your Bouncy Castle experience!

Get a support contract through Crypto Workshop. We have found two things that distinguish our support contract holders from our regular user base. Developers with access to a support contract are more likely to raise an issue with us early rather than try and muddle through, and developers with access to a support contract also take a more active interest in the beta realeases, both FIPS and non-FIPS. The second one is useful as it means any issues or shortfalls in the beta are able to be fixed while the updates are still in beta. The first one is a real cost saver as it does not lead to us receiving emails starting with "Our development team has spent (some number of) weeks trying to work out..." It is much cheaper to have a support contract!

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
PKIX/CMS/EAC/PKCS
OCSP/TSP/OPENSSL
SMIME OpenPGP/BCPG DTLS/TLS API/JSSE Provider Test Classes
JDK 1.5 - JDK 1.8 bcprov-jdk15on-158.jar
bcprov-ext-jdk15on-158.jar
  bcpkix-jdk15on-158.jar bcmail-jdk15on-158.jar bcpg-jdk15on-158.jar bctls-jdk15on-158.jar bctest-jdk15on-158.jar
JDK 1.4 bcprov-jdk14-158.jar
bcprov-ext-jdk14-158.jar
  bcpkix-jdk14-158.jar bcmail-jdk14-158.jar bcpg-jdk14-158.jar   bctest-jdk14-158.jar
JDK 1.3 bcprov-jdk13-158.jar
bcprov-ext-jdk13-158.jar
jce-jdk13-158.jar
jce-ext-jdk13-158.jar
bcpkix-jdk13-158.jar bcmail-jdk13-158.jar bcpg-jdk13-158.jar   bctest-jdk13-158.jar
JDK 1.2 bcprov-jdk12-158.jar
bcprov-ext-jdk12-158.jar
jce-jdk12-158.jar
jce-ext-jdk12-158.jar
bcpkix-jdk12-158.jar   bcpg-jdk12-158.jar   bctest-jdk12-158.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.8 bcprov-debug-jdk15on-158.jar bcprov-ext-debug-jdk15on-158.jar
JDK 1.4 bcprov-debug-jdk14-158.jar bcprov-ext-debug-jdk14-158.jar

Sources and JavaDoc

  DTLS/TLS API/JSSE Provider
JDK 1.5 - JDK 1.8 bctls-jdk15on-158.tar.gz bctls-jdk15on-158.zip

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

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

  SMIME
JDK 1.5 - JDK 1.8 bcmail-jdk15on-158.tar.gz bcmail-jdk15on-158.zip
JDK 1.4 bcmail-jdk14-158.tar.gz bcmail-jdk14-158.zip
JDK 1.3 bcmail-jdk13-158.tar.gz bcmail-jdk13-158.zip

  JCE with provider and lightweight API Lightweight API  
JDK 1.5 - JDK 1.8 bcprov-jdk15on-158.tar.gz bcprov-jdk15on-158.zip lcrypto-jdk15on-158.tar.gz lcrypto-jdk15on-158.zip
JDK 1.4 bcprov-jdk14-158.tar.gz bcprov-jdk14-158.zip lcrypto-jdk14-158.tar.gz lcrypto-jdk14-158.zip
JDK 1.3 jce-jdk13-158.tar.gz jce-jdk13-158.zip lcrypto-jdk13-158.tar.gz lcrypto-jdk13-158.zip
JDK 1.2 jce-jdk12-158.tar.gz jce-jdk12-158.zip lcrypto-jdk12-158.tar.gz lcrypto-jdk12-158.zip
JDK 1.1 jce-jdk11-158.tar.gz jce-jdk11-158.zip lcrypto-jdk11-158.tar.gz lcrypto-jdk11-158.zip
J2ME     lcrypto-j2me-158.tar.gz lcrypto-j2me-158.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.5 to JDK 1.8 can be found at https://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

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.