Skip to content

Commit 1a0e4c9

Browse files
committed
Update README with current release version, tls-klog, pgsc, jmail and mls modules
1 parent 3145f75 commit 1a0e4c9

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ For the lightweight crypto API plus the JCA/JCE provider — the most common sta
2222
<dependency>
2323
<groupId>org.bouncycastle</groupId>
2424
<artifactId>bcprov-jdk18on</artifactId>
25-
<version>1.84</version>
25+
<version>1.85.2</version>
2626
</dependency>
2727
```
2828

2929
**Gradle**:
3030

3131
```groovy
32-
implementation 'org.bouncycastle:bcprov-jdk18on:1.84'
32+
implementation 'org.bouncycastle:bcprov-jdk18on:1.85.2'
3333
```
3434

3535
If you need functionality beyond what `bcprov` provides, add the appropriate companion artifacts. They all share the same `org.bouncycastle` group, the same `-jdk18on` suffix, and the same version — pull each one in the same way as the snippets above:
@@ -40,9 +40,11 @@ If you need functionality beyond what `bcprov` provides, add the appropriate com
4040
| `bcpkix-jdk18on` | X.509 / PKCS#10 / PKCS#12, CMS, S/MIME helpers (top-level only), TSP, OCSP, CMP / CRMF, certificate path validation. |
4141
| `bcpg-jdk18on` | OpenPGP (RFC 4880 / RFC 9580). |
4242
| `bctls-jdk18on` | Standalone TLS 1.0 – 1.3 implementation plus the BCJSSE provider. |
43+
| `bctls-klog-jdk18on` | Drop-in replacement for `bctls-jdk18on` that reports TLS connection secrets in RFC 9850 (SSLKEYLOGFILE) format for decrypting a test capture in an analyser such as Wireshark. Not for production use — see the package javadoc for why. |
4344
| `bcmail-jdk18on` | S/MIME built on top of `bcpkix`, targeting the legacy `javax.mail` / `javax.activation` 1.x runtimes. |
4445
| `bcjmail-jdk18on` | S/MIME for the Jakarta runtimes (`jakarta.mail` / `jakarta.activation` 2.x). Pick this for modern Spring Boot / Quarkus / Jakarta EE apps, and use `bcmail-jdk18on` for the older `javax.*` stack. |
4546
| `bcmls-jdk18on` | Messaging Layer Security (RFC 9420). |
47+
| `bcpgsc-jdk18on` | Adds an API for using OpenPGP keys held on a smart card or hardware token (e.g. a YubiKey) with `bcpg`'s high-level OpenPGP API. |
4648
| `bcutil-jdk18on` | Shared ASN.1 utility classes used by `bcpkix`. Pulled in transitively. |
4749

4850
### Suffix history
@@ -192,12 +194,20 @@ The **util** module is the home for code which is used by other modules that doe
192194
The **pkix** module is the home for code for X.509 certificate generation and the APIs for standards that rely on ASN.1 such
193195
as CMS, TSP, PKCS#12, OCSP, CRMF, and CMP.
194196

195-
The **mail** module provides an S/MIME API built on top of CMS.
197+
The **mail** module provides an S/MIME API built on top of CMS, targeting the legacy `javax.mail` / `javax.activation` 1.x runtimes.
198+
199+
The **jmail** module is the same S/MIME API as **mail**, targeting the Jakarta `jakarta.mail` / `jakarta.activation` 2.x runtimes.
196200

197201
The **pg** module is the home for code used to support OpenPGP.
198202

203+
The **pgsc** module adds an API for using OpenPGP keys held on a smart card or hardware token (e.g. a YubiKey) with **pg**'s high-level OpenPGP API.
204+
199205
The **tls** module is the home for code used to a general TLS API and JSSE Provider.
200206

207+
The **tls-klog** module is a build of **tls** that reports TLS connection secrets in RFC 9850 (SSLKEYLOGFILE) format, for decrypting a test capture in an analyser such as Wireshark. It is not for production use — see the `org.bouncycastle.tls.keylog` package javadoc for why.
208+
209+
The **mls** module is the home for code used to support Messaging Layer Security (RFC 9420).
210+
201211
The build scripts that come with the full distribution allow creation of the different releases by using the different source trees while excluding classes that are not appropriate and copying in the required compatibility classes from the directories containing compatibility classes appropriate for the distribution.
202212

203213
If you want to try create a build for yourself, using your own environment, the best way to do it is to start with the build for the distribution you are interested in, make sure that builds, and then modify your build scripts to do the required exclusions and file copies for your setup, otherwise you are likely to get class not found exceptions. The final caveat to this is that as the j2me distribution includes some compatibility classes starting in the java package, you need to use an obfuscator to change the package names before attempting to import a midlet using the BC API.

0 commit comments

Comments
 (0)