Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor wolfCrypt level classes to avoid wolfcrypt-jni namespace conflicts #252

Merged
merged 3 commits into from
Jan 31, 2025

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