Skip to content

Conversation

@cconlon
Copy link
Member

@cconlon cconlon commented Jan 30, 2025

This PR renames the following three "wolfCrypt" classes that are part of wolfssljni, and removes them from the com.wolfssl.wolfcrypt package namespace. They have been placed in the com.wolfssl namespace:

  • com.wolfssl.wolfcrypt.ECC -> com.wolfssl.WolfCryptECC
  • com.wolfssl.wolfcrypt.EccKey -> com.wolfssl.WolfCryptEccKey
  • com.wolfssl.wolfcrypt.RSA -> com.wolfssl.WolfCryptRSA

This is a breaking change for small set of applications/users that call these classes, but, these classes were mainly added to allow use inside the Atomic Record callbacks, which are not widely used. The big advantage to renaming these classes is that it removes namespace conflicts from classes inside the wolfcrypt-jni / wolfJCE package. We have had a few customer/user reports where this conflict caused them to have to manually delete the classes mentioned above when both wolfssljni and wolfcrypt-jni are used in the same project. For long-term ease of adoption, doing this rename now is the best approach.

When testing Atomic Record Layer use in the examples/Client.java and examples/Server.java with recent versions of native wolfSSL, we needed to also implement the VerifyDecrypt callback (previously we only had support for the DecryptVerify callback). This PR adds support for VerifyDecrypt, along with an example implementation based on native wolfSSL's wolfssl/test.h myVerifyDecryptCb().

@cconlon cconlon self-assigned this Jan 30, 2025
…olfJCE namespace conflicts, removing com.wolfssl.wolfcrypt directory
…may happen on wolfSSL_Cleanup() call from atexit() handler
@JacobBarthelmeh JacobBarthelmeh merged commit 7cf0c4e into wolfSSL:master Jan 31, 2025
47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants