-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Bouncy Castle and Bouncy Castle FIPS Native test failures: Cannot load new security provider at runtime: BC / BCFIPS #23967
Comments
/cc @jerboaa, @sberyozkin |
Note that OpenJDK itself cannot prevent application users from using third-party crypto providers when being used on a FIPS enabled system and |
This PR should be fixing it, #23527 |
Though I'm not 100% sure. Perhaps the right |
@sberyozkin I will try with your branch now... |
sberyozkin/bc_keypair_ecdsa_xdhNativeWith FIPS enabled native-image on a FIPS enforcing system:
So it's the same as before except for Bouncy Castle FIPS JSSE where HotSpotWith FIPS aware HotSpot on a FIPS enforcing system:
Seems the same, which is fine IMHO as the test couldn't work with the keystore as it does now and be compatible at the same time IMHO... |
@Karm Thanks.
Yes, we've seen it with @zakkak. That native test does not work in native even without FIPS enabled so we spotted it while trying to fix it - however, I'll my PR in any case to avoid this inject issue. But not sure what is the cause of |
@Karm I fixed the Vertx issue with the BC FIPS JSSE test. And I've added a couple of guards to avoid doing duplicate
Can you please retry with my branch ? |
Hi @Karm @pjgg Can you please try these 4 BC integration tests against the latest Quarkus, 2.8.3.Final or 2.9.0.Final, in native/JVM ? @Karm according to your results all but BC JSSE tests failed in JVM mode. but But all of these tests fail in native. |
That said, I wonder, does it make sense to start loading BouncyCastle providers on RHEL FIPS systems ? I.e, is is areal issue that BC providers can't be loaded ? |
IMO, no. It's either of those two providers (exclusively). FIPS compliance is what matters, so you don't need both at the same time. At least I cannot think of a use-case which would need it. |
@jerboaa Hi Severin, thanks, makes sense to me as well. I think I'll close this issue with a minor update to the BouncyCastle doc section clarifying such providers are unlikely to work on RHEL FIPS |
Describe the bug
Bouncy Castle and Bouncy Castle FIPS tests work fine with FIPS aware HotSpot, but those tests fail to start with FIPS aware native-image.
Notes from Severin:
TODO:
Bouncy Castle native
Full log: gh-q-23967-bc.txt
Bouncy Castle FIPS native
Full log: gh-q-23967-bcfips.txt
BC JSSE and BC FIPS JSSE
HotSpot:
Native:
Full log: gh-q-23967-bcfipsjsse.txt
Expected behavior
Tests pass the same with FIPS aware HotSpot and FIPS aware native-image.
Actual behavior
Tests fail with FIPS aware native-image.
How to Reproduce?
On a FIPS enforcing system, using FIPS aware native-image:
Output of
uname -a
orver
Linux rhel9fips 5.14.0-63.el9.x86_64
Output of
java -version
Red Hat build of OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode)
GraalVM version (if different from Java)
No response
Quarkus version or git rev
95cc838
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response
The text was updated successfully, but these errors were encountered: