-
Notifications
You must be signed in to change notification settings - Fork 606
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
Issue-973 (part1) - Removing direct dependency on BouncyCastle librar… #976
base: master
Are you sure you want to change the base?
Conversation
…y and using JCE. - This is first change towards removing direct dependency on BouncyCastle. - Removed the imports org.bouncycastle.crypto.prng.RandomGenerator and org.bouncycastle.crypto.prng.VMPCRandomGenerator from the file BouncyCastleRandom.java, eliminating the direct dependency on BouncyCastle. Now using JCE with a provider, allowing SecureRandom to utilize the BC provider. - Added a new class, BouncyCastleFipsRandom, similar to BouncyCastleRandom.java, which leverages the BCFIPS provider to create SecureRandom instances. - Upgraded gradle plugin, groovy and Mockito versions to ensure compatibility with Java 21. from org.spockframework:spock-core:2.3-groovy-3.0 to org.spockframework:spock-core:2.4-M5-groovy-4.0 from org.mockito:mockito-core:4.11.0 to org.mockito:mockito-core:5.15.2 from gradle-8.2-bin.zip to gradle-8.11-bin.zip Testing: I have run gradle clean build with java 11 and Java 21 and works. Test Gradle Test Executor 2; Executed: 470/469/0 ✓ Test Gradle Test Run :test; Executed: 470/469/0
I have built with Java 11 and Java 21.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.11/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 38s |
Hi @hierynomus & @exceptionfactory, |
I am not a maintainer on the project, so this requires approval from @hierynomus. |
@hierynomus Could you please allow me to run test workflow on this pull request. |
@hierynomus I am wondering what the procedure is to contribute to this repo. I don't have permission to run the workflow. Do I need to get approval first, or is there a step I'm missing? |
As a first time contributor, GH will not automatically run a workflow for a PR. THe maintainers need to approve, i.e. me :) And as I'm pretty tied up in paid work atm, I don't always have time to review. |
These classes now feel awfully duplicated, with only a single parameter difference.... |
Thanks for your time and giving permission to run workflow. I created a separate class for the BCFIPS provider because these factory classes abstract the security provider. The class BouncyCastleRandom uses the regular BC provider, while BouncyCastleFipsRandom uses the BCFIPS provider, both of which are abstracted. If you want me to combine them into one class, I would need to check which provider is currently set, BC, BCFIPS, or none. I will update code after combining. |
Issue-973 (part1) - Removing direct dependency on BouncyCastle library and using JCE.
✓ Test Gradle Test Run :test; Executed: 470/469/0