You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
|`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. |
43
44
|`bcmail-jdk18on`| S/MIME built on top of `bcpkix`, targeting the legacy `javax.mail` / `javax.activation` 1.x runtimes. |
44
45
|`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. |
|`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. |
46
48
|`bcutil-jdk18on`| Shared ASN.1 utility classes used by `bcpkix`. Pulled in transitively. |
47
49
48
50
### Suffix history
@@ -192,12 +194,20 @@ The **util** module is the home for code which is used by other modules that doe
192
194
The **pkix** module is the home for code for X.509 certificate generation and the APIs for standards that rely on ASN.1 such
193
195
as CMS, TSP, PKCS#12, OCSP, CRMF, and CMP.
194
196
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.
196
200
197
201
The **pg** module is the home for code used to support OpenPGP.
198
202
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
+
199
205
The **tls** module is the home for code used to a general TLS API and JSSE Provider.
200
206
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
+
201
211
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.
202
212
203
213
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