fix: Update besu-native libraries to 1.5.0#10096
Merged
usmansaleem merged 2 commits intobesu-eth:mainfrom Mar 24, 2026
Merged
Conversation
This fixes the issue of secp256r1 native library exporting openssl symbols in jvm space which cause any plugins which are using native libraries (such as native hsm libraries) to incorrectly attempt to use secp256r1 bundled openssl library instead of system openssl library. The fix is to use statically linked openssl by secp256r1 native module. Signed-off-by: Usman Saleem <usman@usmans.info>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Besu’s besu-native dependency set to v1.5.0 to address OpenSSL symbol export conflicts from the secp256r1 native library, improving compatibility with other native-library-using plugins.
Changes:
- Bumped
org.hyperledger.besu:*native library dependencies from1.4.2to1.5.0. - Added Gradle dependency verification metadata entries for the new
1.5.0artifacts. - Recorded the upgrade and rationale in the changelog.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| platform/build.gradle | Updates besu-native-related dependency versions to 1.5.0. |
| gradle/verification-metadata.xml | Adds checksum metadata for the new 1.5.0 artifacts to keep dependency verification passing. |
| CHANGELOG.md | Documents the upgrade and the OpenSSL symbol-export fix reference. |
Signed-off-by: Usman Saleem <usman@usmans.info>
daniellehrner
approved these changes
Mar 24, 2026
usmansaleem
added a commit
to usmansaleem/besu-hsm-plugin
that referenced
this pull request
Mar 24, 2026
Add a Testcontainers-based integration test that spins up a 4-node QBFT network where each validator signs blocks via PKCS#11 (SoftHSM2). Tests verify block production, validator recognition, and pre-funded account balance. Uses Besu develop Docker tag pending a release that includes the besu-native-ec static OpenSSL fix (besu-eth/besu#10096). Signed-off-by: Usman Saleem <usman@usmans.info>
2 tasks
ahamlat
pushed a commit
to daniellehrner/besu
that referenced
this pull request
Mar 25, 2026
This fixes the issue of besu-native/secp256r1 exporting bundled OpenSSL symbols in JVM space which cause any plugins which are using native libraries (such as native hsm libraries) to incorrectly attempt to use secp256r1's bundled OpenSSL library instead of system OpenSSL library. This can result in JVM crash and/or hsm library's signing operation failure. The fix is to use statically linked OpenSSL by secp256r1 native module. --------- Signed-off-by: Usman Saleem <usman@usmans.info> Signed-off-by: Ameziane H. <ameziane.hamlat@consensys.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR description
This fixes the issue of besu-native/secp256r1 exporting bundled OpenSSL symbols in JVM space which cause any plugins which are using native libraries (such as native hsm libraries) to incorrectly attempt to use secp256r1's bundled OpenSSL library instead of system OpenSSL library. This can result in JVM crash and/or hsm library's signing operation failure.
The fix is to use statically linked OpenSSL by the besu-native/secp256r1 .
Fixed Issue(s)
Thanks for sending a pull request! Have you done the following?
doc-change-requiredlabel to this PR if updates are required.Locally, you can run these tests to catch failures early:
./gradlew spotlessApply./gradlew build./gradlew acceptanceTest./gradlew integrationTest./gradlew ethereum:referenceTests:referenceTests