Latest Java Releases
Release 1.47 is now available for download.
This release includes further clean up work so is also not directly compatible with previous releases. Please see the porting guide for advice on porting to this release.On the plus side, the OpenPGP API is now fully usable via operator interfaces similar to what were added for CMS in the previous release. The number of light weight operator implementations has been expanded and as a result certificate generation, OpenPGP, CMS, CRMF, CMP, TSP, PKCS and OCSP are now supported across all JDK releases including the J2ME. The only limitation at the moment is that compression is not supported in the J2ME library. In addition this release adds support for EAC (Extended Access Control) certificates and a light weight version of NTRU. CMS Enveloped and Authenticated data now support OriginatorInfo and classes involved in CRL manipulation have been rewritten to reduce memory usage so as to support extremely large CRLs.
In terms of bug fixes, a regression in 1.46 which prevented parsing of PEM files with extra text at the start has been fixed, OpenPGP ID based certifications now support UTF-8, IPV4/ipV6 parsing in CIDR no longer assumes octet boundaries on a mask, an occassional issue causing an OutOfMemoryException in PGP compressed data generation has been fixed, and Diffie-Hellman L parameter validation has been improved to prevent the rejection of some valid keys. A bug in the BKS keystore which could cause a hang on a corrupted store has been fixed and the MAC size had been increased.
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.
For further details on changes and enhancements please see the release notes.
As always, others have contributed to this release. You can find them listed in the contributors file. Thank you, one and all!
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-147.tar.gz or crypto-147.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-147.jar bcprov-ext-jdk15on-147.jar |
bcpkix-jdk15on-147.jar | bcmail-jdk15on-147.jar | bcpg-jdk15on-147.jar | bctest-jdk15on-147.jar | |
| JDK 1.4 | bcprov-jdk14-147.jar bcprov-ext-jdk14-147.jar |
bcpkix-jdk14-147.jar | bcmail-jdk14-147.jar | bcpg-jdk14-147.jar | bctest-jdk14-147.jar | |
| JDK 1.3 | bcprov-jdk13-147.jar bcprov-ext-jdk13-147.jar |
jce-jdk13-147.jar jce-ext-jdk13-147.jar |
bcpkix-jdk13-147.jar | bcmail-jdk13-147.jar | bcpg-jdk13-147.jar | bctest-jdk13-147.jar |
| JDK 1.2 | bcprov-jdk12-147.jar bcprov-ext-jdk12-147.jar |
jce-jdk12-147.jar jce-ext-jdk12-147.jar |
bcpkix-jdk12-147.jar | bcpg-jdk12-147.jar | bctest-jdk12-147.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-147.jar | bcprov-ext-debug-jdk15on-147.jar |
| JDK 1.4 | bcprov-debug-jdk14-147.jar | bcprov-ext-debug-jdk14-147.jar |
Sources and JavaDoc
| PKIX/CMS/EAC/PKCS/OCSP/TSP/OPENSSL | ||
|---|---|---|
| JDK 1.5 - JDK 1.7 | bcpkix-jdk15on-147.tar.gz | bcpkix-jdk15on-147.zip |
| JDK 1.4 | bcpkix-jdk14-147.tar.gz | bcpkix-jdk14-147.zip |
| JDK 1.3 | bcpkix-jdk13-147.tar.gz | bcpkix-jdk13-147.zip |
| JDK 1.2 | bcpkix-jdk12-147.tar.gz | bcpkix-jdk12-147.zip |
| JDK 1.1 | bcpkix-jdk11-147.tar.gz | bcpkix-jdk11-147.zip |
| OpenPGP/BCPG | ||
|---|---|---|
| JDK 1.5 - JDK 1.7 | bcpg-jdk15on-147.tar.gz | bcpg-jdk15on-147.zip |
| JDK 1.4 | bcpg-jdk14-147.tar.gz | bcpg-jdk14-147.zip |
| JDK 1.3 | bcpg-jdk13-147.tar.gz | bcpg-jdk13-147.zip |
| JDK 1.2 | bcpg-jdk12-147.tar.gz | bcpg-jdk12-147.zip |
| JDK 1.1 | bcpg-jdk11-147.tar.gz | bcpg-jdk11-147.zip |
| SMIME | ||
|---|---|---|
| JDK 1.5 - JDK 1.7 | bcmail-jdk15on-147.tar.gz | bcmail-jdk15on-147.zip |
| JDK 1.4 | bcmail-jdk14-147.tar.gz | bcmail-jdk14-147.zip |
| JDK 1.3 | bcmail-jdk13-147.tar.gz | bcmail-jdk13-147.zip |
| JCE with provider and lightweight API | Lightweight API | ||||
|---|---|---|---|---|---|
| JDK 1.5 - JDK 1.7 | bcprov-jdk15on-147.tar.gz | bcprov-jdk15on-147.zip | lcrypto-jdk15on-147.tar.gz | lcrypto-jdk15on-147.zip | |
| JDK 1.4 | bcprov-jdk14-147.tar.gz | bcprov-jdk14-147.zip | lcrypto-jdk14-147.tar.gz | lcrypto-jdk14-147.zip | |
| JDK 1.3 | jce-jdk13-147.tar.gz | jce-jdk13-147.zip | lcrypto-jdk13-147.tar.gz | lcrypto-jdk13-147.zip | |
| JDK 1.2 | jce-jdk12-147.tar.gz | jce-jdk12-147.zip | lcrypto-jdk12-147.tar.gz | lcrypto-jdk12-147.zip | |
| JDK 1.1 | jce-jdk11-147.tar.gz | jce-jdk11-147.zip | lcrypto-jdk11-147.tar.gz | lcrypto-jdk11-147.zip | |
| J2ME | lcrypto-j2me-147.tar.gz | lcrypto-j2me-147.zip | |||
| Releases no longer maintained | ||
|---|---|---|
| JDK 1.0 | lcrypto-jdk10-133.tar.gz | lcrypto-jdk10-133.zip |
NOTE:
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.
CVS Access
Just want to look at the source? The source code repository is accessible via ViewVC from here.
If you are looking for anonymous CVS access, set your CVSROOT as follows:
CVSROOT=:pserver:anonymous@cvs.bouncycastle.org:/home/users/bouncy/cvsroot
and then do a
cvs co java
using your favorite CVS client.
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.