Skip to content

Latest commit

 

History

History
155 lines (117 loc) · 6.4 KB

ChangeLog.md

File metadata and controls

155 lines (117 loc) · 6.4 KB

wolfCrypt JNI Release 1.6.0 (4/17/2024)

Release 1.6.0 of wolfCrypt JNI and JCE has bug fixes and new features including:

New JCE Functionality:

  • Add RSA support to KeyPairGenerator class (PR 49)
  • Add AES/CBC/PKCS5Padding support to Cipher class (PR 51)
  • Add RSA support to Cipher class (PR 51)
  • Add PKIX implementation of CertPathValidator class (PR 60, 66)
  • Add SHA1 alias for MessageDigest SHA-1 for interop compatibility (PR 61)
  • Add AES/GCM/NoPadding support to Cipher class (PR 62)
  • Add SecretKeyFactory implementation supporting PBKDF2 (PR 70)
  • Add DEFAULT support to SecureRandom class (PR 72)

New JNI Wrapped APIs and Functionality:

  • Add AES-GCM support to com.wolfssl.wolfcrypt.AesGcm class (PR 62)

JNI and JCE Changes:

  • Add synchronization to com.wolfssl.wolfcrypt.Rng class (PR 44)
  • Correct preprocessor guards for 3DES with wolfCrypt FIPS (PR 47)
  • Correct order of operations in wc_CreatePKCS8Key() JNI wrapper API (PR 50)
  • Add synchronization around native structure pointer use (PR 53)
  • Remove inclusion of CyaSSL header includes, switch to wolfSSL (PR 56)
  • Call PRIVATE_KEY_LOCK/UNLOCK() for wolfCrypt FIPS 140-3 compatibility (PR 57)
  • Improve native HMAC feature detection (PR 58)
  • Prepend zero byte to DH shared secret if less than prime length (PR 69)
  • Add synchronization to protected methods in WolfCryptSignature (PR 68)
  • Add synchronization to public methods of WolfCryptKeyPairGenerator (PR 73)
  • Only allocate one Rng object per WolfCryptSignature, not per sign operation (PR 73)
  • Reduce extra WolfCryptRng object creation in Signature and KeyPairGenerator (PR 73)

New Platform Support:

  • Add Windows support with Visual Studio, see IDE/WIN/README.md (PR 46)

Build System Changes:

  • Support custom wolfSSL library prefix and name in makefile.linux (PR 45)
  • Standardize JNI library name on OSX to .dylib (PR 54)
  • Update Maven build support (PR 55)

Example Changes:

  • Print provider of SecureRandom from ProviderTest.java (PR 43)
  • Add Windows batch script to run ProviderTest example (PR 52)

Testing Changes:

  • Add extended threading test for WolfCryptRandom class (PR 44)
  • Add Facebook Infer test script, make fixes (PR 48, 63)
  • Add GitHub Actions tests for Oracle/Zulu/Coretto/Temurin/Microsoft JDKs on Linux and OS X (PR 65)

Documentation Changes:

  • Remove build instructions from README.md for FIPS historical cert #2425 (PR 56)
  • Fix Javadoc warnings for Java 21 and 22 (PR 71)

The wolfCrypt JNI/JCE Manual is available at: https://www.wolfssl.com/documentation/manuals/wolfcryptjni/. For build instructions and more details comments, please check the manual.

wolfCrypt JNI Release 1.5.0 (11/14/2022)

Release 1.5.0 of wolfCrypt JNI has bug fixes and new features including:

  • Add build compatibility for Java 7 (PR 38)
  • Add support for "SHA" algorithm string in wolfJCE (PR 39)
  • Add rpm package support (PR 40)
  • Add wolfJCE MessageDigest.clone() support (PR 41)
  • Improve error checking of native Md5 API calls (PR 41)
  • Add unit tests for com.wolfssl.wolfcrypt.Md5 (PR 41)

wolfCrypt JNI Release 1.4.0 (08/11/2022)

Release 1.4.0 of wolfCrypt JNI has bug fixes and new features including:

  • Add example directory with one simple ProviderTest example (PR 32)
  • Fix double free of ChaCha pointer (PR 34)
  • Add test cases for ChaCha.java (PR 34)
  • Skip WolfCryptMacTest for HMAC-MD5 when using wolfCrypt FIPS 140-3 (PR 35)
  • Use new hash struct names (wc_Md5/wc_Sha/etc) in native code (PR 35)
  • Fix potential build error with non-ASCII apostrophes in Fips.java (PR 36)

wolfCrypt JNI Release 1.3.0 (05/13/2022)

Release 1.3.0 of wolfCrypt JNI has bug fixes and new features including:

  • Run FIPS tests on ant test when linked against a wolfCrypt FIPS library (PR 24)
  • Wrap native AesGcmSetExtIV_fips() API (PR 24)
  • Fix releaseByteArray() usage in Fips.RsaSSL_Sign() (PR 24)
  • Fix AES-GCM FIPS test cases (PR 24)
  • Keep existing JAVA_HOME in makefiles if already set (PR 25)
  • Add JCE support for MessageDigestSpi.engineGetDigestLength() (PR 27)
  • Update junit to 4.13.2 (PR 28)
  • Update missing Javadocs, fixes warnings on newer Java versions (PR 29)

wolfCrypt JNI Release 1.2.0 (11/16/2021)

Release 1.2.0 of wolfCrypt JNI has bug fixes and new features including:

  • Add FIPS 140-3 compatibility when using wolfCrypt FIPS or FIPS Ready
  • Increase junit version from 4.12 to 4.13 in pom.xml
  • Add local ./lib directory to java.library.path in pom.xml
  • Fix builds with WOLFCRYPT_JNI_DEBUG_ON defined
  • Fix compatibility with wolfCrypt NO_OLD_* defines
  • Fix compatibility with wolfSSL ./configure --enable-all and ECC tests

wolfCrypt JNI Release 1.1.0 (08/26/2020)

Release 1.1.0 of wolfCrypt JNI has bug fixes and new features including:

  • New JNI-level wrappers for ChaCha, Curve25519, and Ed25519
  • Maven pom.xml build file
  • Runtime detection of hash type enum values for broader wolfSSL support
  • Updated wolfSSL error codes to match native wolfSSL updates
  • Native HMAC wrapper fixes for building with wolfCrypt FIPSv2
  • Native wrapper to return HAVE_FIPS_VERSION value to Java
  • Remove Blake2b from HMAC types, to match native wolfSSL changes
  • Better native wolfSSL feature detection
  • Increase Junit version to 4.13
  • Use nativeheaderdir on supported platforms instead of javah
  • Use hamcrest-all-1.3.jar in build.xml
  • Add call to wc_ecc_set_rng() when needed

wolfCrypt JNI Release 1.0.0 (7/10/2017)

Release 1.0.0 of wolfCrypt JNI has bug fixes and new features including:

  • Bug fixes to JCE classes: Cipher, KeyAgreement (DH), Signature
  • JCE debug logging with wolfjce.debug system property
  • Additional unit tests for JCE provider
  • Conditional ant build for JNI and/or JCE
  • New ant targets with choice of debug or release builds

wolfCrypt JNI Release 0.3 BETA

Release 0.3 BETA of wolfCrypt JNI includes:

  • Support for ECC and DH key generation
  • Bug fixes regarding key import/export
  • Better argument sanitization at JNI level

wolfCrypt JNI Release 0.2 BETA

Release 0.2 BETA of wolfCrypt JNI includes:

  • Support for Android
  • Support for Oracle JDK/JVM
  • Support for code signing wolfcrypt-jni.jar file
  • Compatibility with non-FIPS wolfSSL and wolfCrypt builds
  • Bug fixes regarding releasing native resources
  • Test package changed to (com.wolfssl.provider.jce.test)

wolfCrypt JNI Release 0.1 BETA

Release 0.1 BETA of wolfCrypt JNI includes:

  • Initial JCE package
  • Support for OpenJDK