1. Home
  2. /
  3. Download
  4. /
  5. Download Bouncy Castle Java

Download Bouncy Castle for Java

Welcome to the download page for the general edition of Bouncy Castle Java. In addition to the available access options, including GitHub, Maven Central, and direct download, you will find searchable release notes and links to API and other documentation.

 

Bouncy Castle Java
hero-sub-2

GitHub

Access the Bouncy Castle APIs Java package on GitHub, where you can also report issues, join discussions, and contribute to the software.

Documentation 

Explore the Bouncy Castle for Java documentation online for concise guidance and examples.

Join the discussion

You can ask questions and learn from specialists in the Bouncy Castle Java forum on GitHub Discussions. We highly appreciate and value your input.

Report an issue

If you encounter any issues that require attention, feel free to report them in our GitHub repository. 

Release notes

Find out detailed information about the latest release and search in older release notes.

Beta releases

The current working betas, when available, for the next release for JDK 1.8 and later can be found here. If you need a beta to be made available for another version of Java please ask by emailing: feedback-crypto@bouncycastle.org.

Donate to support the Bouncy Castle APIs

Supporting Bouncy Castle is now a substantial effort, the Java API is now over 300,000 lines, the C# one well past 140,000.

Bouncy Castle Java Downloads

The latest Bouncy Castle Java release is 1.81.

Except where otherwise stated, this software is distributed under the regular Bouncy Castle license. For full details of other licenses involved, see Third party licenses

Distribution Files (JAR and ZIP format)

Compiled classes, sources and JavaDoc for Java 1.1.

Checksums

To confirm the integrity of the distributions, checksums are available:

Download Checksums

Maven Central Signing Key

If you are trying to confirm the signatures for artifacts from Maven Central, you can use the public key linked below.

Download bc_maven_public_key.asc

Release notes

Find out detailed information about the latest Bouncy Castle Java releases and search in older release notes.  

Release 1.81
4 June, 2025
Defects Fixed A potention NullPointerException in the KEM KDF KemUtil class has been removed. Overlapping input/output buffers in doFinal could result in d...

Defects Fixed

  • A potention NullPointerException in the KEM KDF KemUtil class has been removed.
  • Overlapping input/output buffers in doFinal could result in data corruption. This has been fixed.
  • Fixed Grain-128AEAD decryption incorrectly handle MAC verification.
  • Add configurable header validation to prevent malicious header injection in PGP cleartext signed messages; Fix signature packet encoding issues in PGPSignature.join() and embedded signatures while phasing out legacy format.
  • Fixed ParallelHash initialization stall when using block size B=0.
  • The PRF from the PBKDF2 function was been lost when PBMAC1 was initialized from protectionAlgorithm. This has been fixed.
  • The lowlevel DigestFactory was cloning MD5 when being asked to clone SHA1. This has been fixed.

Additional Features and Functionality

  • XWing implementation updated to draft-connolly-cfrg-xwing-kem/07/
  • Further support has been added for generation and use of PGP V6 keys
  • Additional validation has been added for armored headers in Cleartext Signed Messages.
  • The PQC signature algorithm proposal Mayo has been added to the low-level API and the BCPQC provider.
  • The PQC signature algorithm proposal Snova has been added to the low-level API and the BCPQC provider.
  • Support for ChaCha20-Poly1305 has been added to the CMS/SMIME APIs.
  • The Falcon implementation has been updated to the latest draft.
  • Support has been added for generating keys which encode as seed-only and expanded-key-only for ML-KEM and ML-DSA private keys.
  • Private key encoding of ML-DSA and ML-KEM private keys now follows the latest IETF draft.
  • The Ascon family of algorithms has been updated to the initial draft of SP 800-232. Some additional optimisation work has been done.
  • Support for ML-DSA's external-mu calculation and signing has been added to the BC provider.
  • CMS now supports ML-DSA for SignedData generation.
  • Introduce high-level OpenPGP API for message creation/consumption and certificate evaluation.
  • Added JDK21 KEM API implementation for HQC algorithm.
  • BCJSSE: Strip trailing dot from hostname for SNI, endpointID checks.
  • BCJSSE: Draft support for ML-KEM updated (draft-connolly-tls-mlkem-key-agreement-05).
  • BCJSSE: Draft support for hybrid ECDHE-MLKEM (draft-ietf-tls-ecdhe-mlkem-00).
  • BCJSSE: Optionally prefer TLS 1.3 server's supported_groups order (BCSSLParameters.useNamedGroupsOrder).