The Legion of the Bouncy Castle Java Cryptography API provides a lightweight cryptography API in Java, a provider for the JCE and JCA, a clean-room implementation of the JCE 1.2.1, generators for Version 1 and Version 3 X.509 certificates, generators for Version 2 X.509 attribute certificates, PKCS12 support, and APIs for dealing with S/MIME, CMS, OCSP, TSP, OpenPGP, and TLS. Versions are provided for the J2ME, and JDK 1.0-1.6.
| Tags | Security Cryptography Software Development Libraries |
|---|---|
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Changes: This is a bugfix release. Multiple countersignatures in CMS/SMIME messages are now correctly collected, hashCode() for X509Name is now fully consistent with its equals() method, and the HC-128, HC-256 implementations have had a sign expansion and byte swap bug fixed and are now fully compliant with the latest Ecrypt test vectors. Note: if you are looking at using HC-128 or HC-256, you need to update to this release.


Changes: This release adds Grain v1 and Grain128, as well as basic support for AuthenticatedData to the CMS API. Further work has been done to improve the BC APIs working with Provider objects rather than provider names, and JDK 1.5 and 1.6 jars are now pre-packaged with pack200. A number of other bugfixes and enhancements have also been made.


Changes: This release adds a faster and smaller version of Camellia. The ECDSA implementation is now compliant with X9.62-2005, OpenPGP, S/MIME, and CMS now support passing of providers as well as provider names, S/MIME handles a wider range of special cases for signature verification, and a range of other improvements have been made to the J2ME, CMS, S/MIME, and OpenPGP APIs. A regression from 1.38 for handling PKIXCertPathCheckers on intermediate certificates is fixed.


Changes: This release adds GCM mode and a DES-EDE only PKCS12 file type. The TSP package now supports validation of responses with v2signingCertificate entries. X509Name now handles escaped "+" symbols correctly, and some minor bugs have been fixed affecting SMIME, EAX mode, and the OpenPGP APIs. In addition, a regression from 1.38 to 1.39 with the populating of PKIXCertPathValidatorResult.getPublicKey() has been dealt with. At the request of a number of users, this release also splits the provider jars so that the default jar no longer contains the IDEA encryption algorithm.


Changes: This release adds certifications with user attributes for OpenPGP, CMS countersignature support, and VMPC-MAC. Speed improvements have been made to the ASN.1 package. The CertPath validator now covers a wider range of NIST validation tests. An error in IV handling for SEED and Camellia in CMS has been fixed. Other bug fixes and enhancements were made. The signing certificate for the provider has been updated to one expiring in 2013.