To download the release bundle of wolfCrypt JNI/JCE visit the download page at www.wolfssl.com/download/
Release 1.10.0 of wolfCrypt JNI and JCE has bug fixes and new features including:
New JCE Functionality:
- Add Cipher
RSA/ECB/OAEPWithSHA-256AndMGF1Paddingsupport (PR 188) - Add Cipher
RSA/ECB/OAEPWithSHA-1AndMGF1Paddingsupport (PR 191) - Add Cipher
WRAP_MODEandUNWRAP_MODEsupport for RSA-based key wrapping (PR 197) - Add PKIX CertPathBuilder implementation using native wolfSSL
X509_STORE(PR 190, 192, 198, 200) - Add
jdk.certpath.disabledAlgorithmsenforcement to CertPathBuilder and CertPathValidator (PR 200) - Register default FIPS error callback in
WolfCryptProviderfor FIPS error debugging (PR 207) - Enrich
WolfCryptExceptionwith FIPS module status forFIPS_NOT_ALLOWED_Eerrors (PR 207)
New JNI Functionality:
- Add hex string conversion via
WolfCrypt.toHexString()andWolfCrypt.hexStringToByteArray()(PR 187) - Add PEM to DER conversion support for keys and certificates (PR 186)
- Add
setFlags()andsetVerificationTime()methods toWolfSSLX509StoreCtx(PR 192)
New Property Support:
- Add
wolfssl.skipLibraryLoadsystem property for custom native library loading (PR 189) - Add
wolfjce.ioTimeoutsystem property for OCSP/CRL IO timeouts (PR 199)
JNI and JCE Changes:
- Fix FIPS error callback lifecycle, deregister native callback in
JNI_OnUnload(PR 203) - Fix Ed25519 signature verification passing message length instead of signature length (PR 205)
- Fix
jlongtoword32pointer cast inRsaFlattenPublicKeyandRsaExportCrtKey(PR 205) - Fix unsigned return value handling for
wc_RsaEncryptSize()across RSA functions (PR 205, 206) - Add HMAC offset/length bounds validation for byte array and ByteBuffer variants (PR 205)
- Improve NULL check handling in HMAC, Ed25519, Curve25519, and Pwdbased JNI wrappers (PR 205)
- Add missing
releaseByteArray()calls across ECC, RSA, ChaCha, and AES-GCM JNI functions (PR 205, 206) - Fix incorrect error code in
HmacFinalhash size check (PR 205) - Return defensive copy of IV array from
engineGetIV()(PR 205) - Fix
wc_ecc_import_private_raw()not passing validatedcurveIdto underlying import function (PR 206) - Zeroize encoded key byte array in
WolfCryptPBEKey.destroy()(PR 206) - Use constant-time comparison for GMAC tag verification (PR 206)
- Add missing AES-CTR and AES-OFB cleanup in
WolfCryptCipher.finalize()(PR 206) - Fix signed integer overflow in JNI offset/length bounds checks (PR 206)
- Add ByteBuffer bounds validation in SHA, MD5, and RNG native functions (PR 206)
- Fix missing return after throw in SHA and MD5 copy NULL checks (PR 206)
- Remove unused
wc_RsaPSS_VerifyInlineJNI wrapper that skipped padding check (PR 206) - Reduce
WC_RNGstruct allocations inWolfCryptCipherandWolfCryptDhParameterGenerator(PR 208) - Expand FIPS-compliant SecureRandom sanitization in
WolfCryptKeyGenerator(PR 209) - Zero intermediate output buffers before free across JNI wrappers (PR 210)
- Fix DH key export return value reset in success paths (PR 210)
- Free internal AES struct in GMAC after use (PR 210)
Example Changes:
- Add
CertPathBuilderandCertPathValidatorexample (PR 190) - Update Android example project CMakeLists.txt file exclusion list (PR 198, 206)
- Add JKS to BKS KeyStore conversion script for Android testing (PR 209)
- Migrate Android example project from
jcenter()tomavenCentral()and AndroidX (PR 209) - Add Gradle wrapper
distributionSha256Sumto Android example project (PR 210)
Testing Changes:
- Add Java 24 and 25 tests to GitHub Actions workflows (PR 193)
- Add GitHub Actions workflow for Linux 32-bit testing with Java 17 (PR 194)
- Add GitHub Actions workflow for UBSan undefined behavior testing (PR 195)
- Add
ant spotbugstarget and GitHub Actions SpotBugs static analysis workflow (PR 204) - Add GitHub Actions workflow for Android FIPS Ready testing (PR 209)
- Add GitHub Actions workflow for Java 9+ module (JPMS) testing (PR 196)
- Fix threaded MessageDigest tests hanging on FIPS error (PR 207)
- Improve JUnit test reliability for FIPS mode and CI environments (PR 209)
- Pin Bouncy Castle dependency version with SHA-256 hash verification (PR 209)
- Update Apache Ant CI dependency to 1.10.16 (PR 209)
Misc Changes:
- Add Java 9+ module support (JPMS) for
jlinkcompatibility (PR 196) - Fix Javadoc warnings about default constructors in
WolfCryptUtilandAsn(PR 201) - Fix code issues and warnings found by SpotBugs static analysis (PR 204)
- Update copyright dates to 2026 (PR 185)
The wolfCrypt JNI/JCE Manual is available at:
https://www.wolfssl.com/documentation/manuals/wolfcryptjni/. For build
instructions and more details, please check the manual.