diff --git a/build.gradle b/build.gradle index 2e83a8933..821b09e76 100644 --- a/build.gradle +++ b/build.gradle @@ -673,8 +673,9 @@ configure(project.fineractJavaProjects) { 'org.junit.jupiter:junit-jupiter-engine', 'org.junit.jupiter:junit-jupiter-params', 'org.junit.platform:junit-platform-runner', // required to be able to run tests directly under Eclipse, see FINERACT-943 & FINERACT-1021 - 'org.bouncycastle:bcpkix-jdk15to18', - 'org.bouncycastle:bcprov-jdk15to18', + 'org.bouncycastle:bcpkix-jdk18on', + 'org.bouncycastle:bcprov-jdk18on', + 'org.bouncycastle:bcutil-jdk18on', 'org.awaitility:awaitility', ) @@ -781,8 +782,9 @@ configure(project.fineractCustomProjects) { 'org.junit.jupiter:junit-jupiter-api', 'org.junit.jupiter:junit-jupiter-engine', 'org.junit.platform:junit-platform-runner', // required to be able to run tests directly under Eclipse, see FINERACT-943 & FINERACT-1021 - 'org.bouncycastle:bcpkix-jdk15to18', - 'org.bouncycastle:bcprov-jdk15to18', + 'org.bouncycastle:bcpkix-jdk18on', + 'org.bouncycastle:bcprov-jdk18on', + 'org.bouncycastle:bcutil-jdk18on', 'org.awaitility:awaitility', 'io.github.classgraph:classgraph', 'io.cucumber:cucumber-core', diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 226b07166..0f1c21ba5 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -45,10 +45,14 @@ dependencies { implementation 'com.sun.activation:jakarta.activation' implementation 'com.sun.mail:jakarta.mail' implementation 'org.freemarker:freemarker' - implementation 'org.tmatesoft.svnkit:svnkit' - implementation 'org.bouncycastle:bcprov-jdk15on' - implementation 'org.bouncycastle:bcpg-jdk15on' + implementation ('com.tmatesoft.svnkit:svnkit') { + exclude group: 'net.i2p.crypto', module: 'eddsa' + } + implementation 'org.bouncycastle:bcprov-jdk18on' + implementation 'org.bouncycastle:bcutil-jdk18on' + implementation 'org.bouncycastle:bcpg-jdk18on' implementation 'org.eclipse.jgit:org.eclipse.jgit' + implementation 'org.eclipse.jgit:org.eclipse.jgit.gpg.bc' implementation 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache' implementation 'com.vdurmont:semver4j' implementation 'org.beryx:text-io' diff --git a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle index 29241c6a0..8ca6c8cef 100644 --- a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle +++ b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle @@ -53,10 +53,11 @@ dependencyManagement { dependency 'org.eclipse.persistence:org.eclipse.persistence.jpa:4.0.2' - dependency 'com.google.guava:guava:32.0.0-jre' + dependency 'com.google.guava:guava:33.1.0-jre' dependency 'com.google.code.gson:gson:2.11.0' dependency 'com.google.googlejavaformat:google-java-format:1.24.0' dependency 'org.apache.commons:commons-collections4:4.4' + dependency 'org.apache.commons:commons-compress:1.26.0' dependency ('software.amazon.msk:aws-msk-iam-auth:2.2.0') { exclude 'commons-logging:commons-logging:' } @@ -154,15 +155,16 @@ dependencyManagement { dependency "commons-codec:commons-codec:1.17.1" dependency "org.projectlombok:lombok:1.18.36" - dependency 'org.bouncycastle:bcpkix-jdk15to18:1.79' - dependency 'org.bouncycastle:bcprov-jdk15to18:1.79' - dependency 'org.bouncycastle:bcprov-jdk15on:1.70' - dependency 'org.bouncycastle:bcpg-jdk15on:1.70' + dependency 'org.bouncycastle:bcpkix-jdk18on:1.80' + dependency 'org.bouncycastle:bcprov-jdk18on:1.80' + dependency 'org.bouncycastle:bcutil-jdk18on:1.80' + dependency 'org.bouncycastle:bcpg-jdk18on:1.80' - dependency 'org.eclipse.jgit:org.eclipse.jgit:6.10.0.202406032230-r' - dependency 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache:7.0.0.202409031743-r' + dependency 'org.eclipse.jgit:org.eclipse.jgit:7.2.0.202503040940-r' + dependency 'org.eclipse.jgit:org.eclipse.jgit.gpg.bc:7.2.0.202503040940-r' + dependency 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache:7.2.0.202503040940-r' - dependency 'org.tmatesoft.svnkit:svnkit:1.10.11' + dependency ('com.tmatesoft.svnkit:svnkit:1.10.12') dependency 'com.vdurmont:semver4j:3.1.0' dependency 'org.beryx:text-io:3.4.1' @@ -209,7 +211,7 @@ dependencyManagement { dependency 'org.owasp.esapi:esapi:2.6.0.0' dependency 'org.awaitility:awaitility:4.2.2' - dependencySet(group: 'org.apache.poi', version: '5.3.0') { + dependencySet(group: 'org.apache.poi', version: '5.4.1') { entry 'poi' entry 'poi-ooxml' entry 'poi-ooxml-schemas' @@ -244,7 +246,9 @@ dependencyManagement { dependency 'org.mockito:mockito-inline:5.2.0' - dependency 'com.github.tomakehurst:wiremock-standalone:3.0.1' + dependency 'org.wiremock:wiremock-standalone:3.13.0' + dependency 'org.apache.sshd:sshd-common:2.15.0' + dependency 'org.apache.sshd:sshd-core:2.15.0' dependency 'io.cucumber:cucumber-java:7.20.1' dependency 'io.cucumber:cucumber-java8:7.20.1' diff --git a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/GitService.groovy b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/GitService.groovy index fc4b43ae1..1090854c2 100644 --- a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/GitService.groovy +++ b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/GitService.groovy @@ -19,14 +19,15 @@ package org.apache.fineract.gradle.service import org.apache.fineract.gradle.FineractPluginExtension -import org.eclipse.jgit.annotations.NonNull -import org.eclipse.jgit.annotations.Nullable import org.eclipse.jgit.api.Git import org.eclipse.jgit.api.errors.CanceledException -import org.eclipse.jgit.lib.CommitBuilder -import org.eclipse.jgit.lib.GpgSigner +import org.eclipse.jgit.api.errors.UnsupportedSigningFormatException +import org.eclipse.jgit.gpg.bc.internal.BouncyCastleGpgSigner +import org.eclipse.jgit.lib.GpgConfig +import org.eclipse.jgit.lib.GpgSignature import org.eclipse.jgit.lib.PersonIdent import org.eclipse.jgit.lib.Repository +import org.eclipse.jgit.lib.Signers import org.eclipse.jgit.lib.StoredConfig import org.eclipse.jgit.storage.file.FileRepositoryBuilder import org.eclipse.jgit.transport.CredentialsProvider @@ -41,14 +42,15 @@ class GitService { private boolean dryRun GitService(FineractPluginExtension.FineractPluginConfigGit config, FineractPluginExtension.FineractPluginConfigGpg gpgConfig) { - GpgSigner.setDefault(new GpgSigner() { + Signers.set(GpgConfig.GpgFormat.OPENPGP, new BouncyCastleGpgSigner() { + @Override - void sign(@NonNull CommitBuilder commit, @Nullable String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException { + GpgSignature sign(Repository repository, GpgConfig internalConfig, byte[] data, PersonIdent committer, String signingKey, CredentialsProvider credentialsProvider) throws CanceledException, IOException, UnsupportedSigningFormatException { log.warn("------------------------ KEY: ${gpgSigningKey} IDENT: ${committer}") } @Override - boolean canLocateSigningKey(@Nullable String gpgSigningKey, @NonNull PersonIdent committer, CredentialsProvider credentialsProvider) throws CanceledException { + boolean canLocateSigningKey(Repository repository, GpgConfig internalConfig, PersonIdent committer, String signingKey, CredentialsProvider credentialsProvider) throws CanceledException { log.warn("------------------------ KEY: ${gpgSigningKey} IDENT: ${committer}") return false } diff --git a/fineract-e2e-tests-core/build.gradle b/fineract-e2e-tests-core/build.gradle index bd7fa5d41..559426cc4 100644 --- a/fineract-e2e-tests-core/build.gradle +++ b/fineract-e2e-tests-core/build.gradle @@ -67,7 +67,7 @@ dependencies { testImplementation 'com.github.spotbugs:spotbugs-annotations' testImplementation 'com.squareup.retrofit2:retrofit:2.11.0' - testImplementation 'commons-httpclient:commons-httpclient:3.1' + testImplementation 'org.apache.httpcomponents:httpclient:4.5.14' testImplementation 'org.apache.commons:commons-lang3:3.17.0' testImplementation 'com.googlecode.json-simple:json-simple:1.1.1' testImplementation 'com.google.code.gson:gson:2.11.0' diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/GlobalConfigurationHelper.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/GlobalConfigurationHelper.java index 6914dc73e..224b6d76e 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/GlobalConfigurationHelper.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/GlobalConfigurationHelper.java @@ -22,12 +22,12 @@ import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; import lombok.RequiredArgsConstructor; -import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang3.BooleanUtils; import org.apache.fineract.client.models.GlobalConfigurationPropertyData; import org.apache.fineract.client.models.PutGlobalConfigurationsRequest; import org.apache.fineract.client.models.PutGlobalConfigurationsResponse; import org.apache.fineract.client.services.GlobalConfigurationApi; +import org.apache.http.HttpStatus; import org.springframework.stereotype.Component; import retrofit2.Response; diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/testrail/TestRailClient.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/testrail/TestRailClient.java index ce0f605a3..1e1a12ab5 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/testrail/TestRailClient.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/testrail/TestRailClient.java @@ -27,9 +27,9 @@ import java.util.regex.Pattern; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.ResponseBody; -import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang3.ClassUtils; import org.apache.commons.lang3.reflect.FieldUtils; +import org.apache.http.HttpStatus; import org.junit.runner.Result; import org.springframework.beans.factory.InitializingBean; import org.springframework.context.annotation.Conditional; diff --git a/fineract-e2e-tests-runner/build.gradle b/fineract-e2e-tests-runner/build.gradle index 5af11a095..4df87bf9f 100644 --- a/fineract-e2e-tests-runner/build.gradle +++ b/fineract-e2e-tests-runner/build.gradle @@ -39,7 +39,7 @@ dependencies { testImplementation 'org.springframework:spring-jms' testImplementation 'com.squareup.retrofit2:retrofit:2.11.0' - testImplementation 'commons-httpclient:commons-httpclient:3.1' + testImplementation 'org.apache.httpcomponents:httpclient:4.5.14' testImplementation 'org.apache.commons:commons-lang3:3.17.0' testImplementation 'com.googlecode.json-simple:json-simple:1.1.1' testImplementation 'com.google.code.gson:gson:2.11.0' diff --git a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java index 0d056ca1d..d7a0b7bdb 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java +++ b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java @@ -88,56 +88,82 @@ public class ClasspathDuplicatesStepDefinitions implements En { private boolean skipJAR(String jarPath) { // ./gradlew test finds classes from the Gradle Wrapper (which don't // show up in-IDE), exclude those - return jarPath.contains("/.gradle/wrapper/dists/") || jarPath.contains("/JetBrains/"); + return jarPath.contains("/.gradle/wrapper/dists/") // + || jarPath.contains("/JetBrains/"); // } private boolean isHarmlessDuplicate(String resourcePath) { - return resourcePath.equals("META-INF/MANIFEST.MF") || resourcePath.equals("META-INF/INDEX.LIST") - || resourcePath.equals("META-INF/ORACLE_J.SF") || resourcePath.toUpperCase().startsWith("META-INF/ASL") - || resourcePath.toUpperCase().startsWith("META-INF/NOTICE") || resourcePath.toUpperCase().startsWith("META-INF/LICENSE") - || resourcePath.toUpperCase().startsWith("META-INF/COPYRIGHT") || resourcePath.toUpperCase().startsWith("LICENSE") - || resourcePath.toUpperCase().startsWith("LICENSE/NOTICE") + return resourcePath.equals("META-INF/MANIFEST.MF") // + || resourcePath.equals("OSGI-INF/MANIFEST.MF") // + || resourcePath.equals("META-INF/INDEX.LIST") // + || resourcePath.equals("META-INF/ORACLE_J.SF") // + || resourcePath.toUpperCase().startsWith("META-INF/ASL") // + || resourcePath.toUpperCase().startsWith("META-INF/NOTICE") // + || resourcePath.toUpperCase().startsWith("META-INF/LICENSE") // + || resourcePath.toUpperCase().startsWith("META-INF/COPYRIGHT") // + || resourcePath.toUpperCase().startsWith("LICENSE") // + || resourcePath.toUpperCase().startsWith("LICENSE/NOTICE") // // list formerly in ClasspathHellDuplicatesCheckRule (moved here // in INFRAUTILS-52) - || resourcePath.endsWith(".txt") || resourcePath.endsWith("LICENSE") || resourcePath.endsWith("license.html") - || resourcePath.endsWith("AL2.0") || resourcePath.endsWith("LGPL2.1") || resourcePath.endsWith("about.html") - || resourcePath.endsWith("readme.html") || resourcePath.startsWith("META-INF/services") - || resourcePath.equals("META-INF/DEPENDENCIES") || resourcePath.equals("META-INF/git.properties") - || resourcePath.equals("META-INF/io.netty.versions.properties") || resourcePath.equals("META-INF/jersey-module-version") - || resourcePath.startsWith("OSGI-INF/blueprint/") + || resourcePath.endsWith(".txt") // + || resourcePath.endsWith("LICENSE") // + || resourcePath.endsWith("license.html") // + || resourcePath.endsWith("AL2.0") // + || resourcePath.endsWith("LGPL2.1") // + || resourcePath.endsWith("about.html") // + || resourcePath.endsWith("readme.html") // + || resourcePath.startsWith("META-INF/services") // + || resourcePath.equals("META-INF/DEPENDENCIES") // + || resourcePath.equals("META-INF/git.properties") // + || resourcePath.equals("META-INF/io.netty.versions.properties") // + || resourcePath.equals("META-INF/jersey-module-version") // + || resourcePath.startsWith("OSGI-INF/blueprint/") // // in Akka's JARs - || resourcePath.startsWith("org/opendaylight/blueprint/") || resourcePath.endsWith("reference.conf") + || resourcePath.startsWith("org/opendaylight/blueprint/") // + || resourcePath.endsWith("reference.conf") // // json-schema-core and json-schema-validator depend on each // other and include these files - || resourcePath.equals("draftv4/schema") || resourcePath.equals("draftv3/schema") // - || resourcePath.equals("WEB-INF/web.xml") || resourcePath.equals("META-INF/web-fragment.xml") - || resourcePath.equals("META-INF/eclipse.inf") || resourcePath.equals("META-INF/ECLIPSE_.SF") - || resourcePath.equals("META-INF/ECLIPSE_.RSA") || resourcePath.equals("META-INF/BC2048KE.DSA") - || resourcePath.equals("META-INF/BC1024KE.DSA") || resourcePath.equals("META-INF/BC2048KE.SF") - || resourcePath.equals("META-INF/BC1024KE.SF") || resourcePath.equals("OSGI-INF/bundle.info") - || resourcePath.equals("META-INF/DUMMY.SF") || resourcePath.equals("META-INF/DUMMY.DSA") - || resourcePath.equals("META-INF/FastDoubleParser-NOTICE") || resourcePath.equals("META-INF/validation-mapping-1.0.xsd") - || resourcePath.equals("META-INF/validation-mapping-1.1.xsd") || resourcePath.equals("META-INF/validation-mapping-2.0.xsd") - || resourcePath.equals("META-INF/validation-mapping-3.0.xsd") - || resourcePath.equals("META-INF/validation-configuration-1.0.xsd") - || resourcePath.equals("META-INF/validation-configuration-1.1.xsd") - || resourcePath.equals("META-INF/validation-configuration-2.0.xsd") - || resourcePath.equals("META-INF/validation-configuration-3.0.xsd") + || resourcePath.equals("draftv4/schema") // + || resourcePath.equals("draftv3/schema") // + || resourcePath.equals("WEB-INF/web.xml") // + || resourcePath.equals("META-INF/web-fragment.xml") // + || resourcePath.equals("META-INF/eclipse.inf") // + || resourcePath.equals("META-INF/ECLIPSE_.SF") // + || resourcePath.equals("META-INF/ECLIPSE_.RSA") // + || resourcePath.equals("META-INF/BC2048KE.DSA") // + || resourcePath.equals("META-INF/BC1024KE.DSA") // + || resourcePath.equals("META-INF/BC2048KE.SF") // + || resourcePath.equals("META-INF/BC1024KE.SF") // + || resourcePath.equals("OSGI-INF/bundle.info") // + || resourcePath.equals("META-INF/DUMMY.SF") // + || resourcePath.equals("META-INF/DUMMY.DSA") // + || resourcePath.equals("META-INF/FastDoubleParser-NOTICE") // + || resourcePath.equals("META-INF/validation-mapping-1.0.xsd") // + || resourcePath.equals("META-INF/validation-mapping-1.1.xsd") // + || resourcePath.equals("META-INF/validation-mapping-2.0.xsd") // + || resourcePath.equals("META-INF/validation-mapping-3.0.xsd") // + || resourcePath.equals("META-INF/validation-configuration-1.0.xsd") // + || resourcePath.equals("META-INF/validation-configuration-1.1.xsd") // + || resourcePath.equals("META-INF/validation-configuration-2.0.xsd") // + || resourcePath.equals("META-INF/validation-configuration-3.0.xsd") // // Spring Framework knows what they are do.. - || resourcePath.startsWith("META-INF/spring") || resourcePath.startsWith("META-INF/additional-spring") - || resourcePath.startsWith("META-INF/terracotta") || resourcePath.startsWith("com/fasterxml/jackson/core/io/doubleparser") + || resourcePath.startsWith("META-INF/spring") // + || resourcePath.startsWith("META-INF/additional-spring") // + || resourcePath.startsWith("META-INF/terracotta") // + || resourcePath.startsWith("com/fasterxml/jackson/core/io/doubleparser") // // Groovy is groovy - || resourcePath.startsWith("META-INF/groovy") - || resourcePath.startsWith("org/springframework/batch/core/scope/context/JobSynchronizationManager") - || resourcePath.startsWith("org/springframework/batch/core/scope/context/StepSynchronizationManager") + || resourcePath.startsWith("META-INF/groovy") // + || resourcePath.startsWith("org/springframework/batch/core/scope/context/JobSynchronizationManager") // + || resourcePath.startsWith("org/springframework/batch/core/scope/context/StepSynchronizationManager") // // Something doesn't to be a perfectly clean in Maven Surefire: - || resourcePath.startsWith("META-INF/maven/") || resourcePath.contains("surefire") + || resourcePath.startsWith("META-INF/maven/") // + || resourcePath.contains("surefire") // // org.slf4j.impl.StaticLoggerBinder.class in testutils for the // LogCaptureRule - || resourcePath.equals("org/slf4j/impl/StaticLoggerBinder.class") + || resourcePath.equals("org/slf4j/impl/StaticLoggerBinder.class") // // INFRAUTILS-35: JavaLaunchHelper is both in java and // libinstrument.dylib (?) on Mac OS X - || resourcePath.contains("JavaLaunchHelper") + || resourcePath.contains("JavaLaunchHelper") // // jakarta.annotation is a big mess... :( E.g. // jakarta.annotation.Resource (and some others) // are present both in rt.jar AND jakarta.annotation-api-1.3.2.jar @@ -150,7 +176,7 @@ public class ClasspathDuplicatesStepDefinitions implements En { // own JAR for jakarta.annotation // and have it contain ONLY what is not already in package // jakarta.annotation in rt.jar.. but for now: - || resourcePath.equals("jakarta.annotation/Resource$AuthenticationType.class") + || resourcePath.equals("jakarta.annotation/Resource$AuthenticationType.class") // // NEUTRON-205: jakarta.inject is a mess :( because of // jakarta.inject:jakarta.inject (which we widely use in ODL) // VS. org.glassfish.hk2.external:jakarta.inject (which Glassfish @@ -163,18 +189,21 @@ public class ClasspathDuplicatesStepDefinitions implements En { // (2.25.1) has a non-optional Package-Import // for jakarta.inject, but we made jakarta.inject:jakarta.inject // true in odlparent, and don't bundle it. - || resourcePath.startsWith("jakarta.inject/") + || resourcePath.startsWith("jakarta.inject/") // // Java 9 modules - || resourcePath.endsWith("module-info.class") || resourcePath.contains("findbugs") + || resourcePath.endsWith("module-info.class") // + || resourcePath.contains("findbugs") // // list newly introduced in INFRAUTILS-52, because classgraph // scans more than JHades did - || resourcePath.equals("plugin.properties") || resourcePath.equals(".api_description") + || resourcePath.equals("plugin.properties") // + || resourcePath.equals(".api_description") // // errorprone with Java 11 integration leaks to classpath, which // causes a conflict between // checkerframework/checker-qual and checkerframework/dataflow - || resourcePath.startsWith("org/checkerframework/dataflow/qual/") + || resourcePath.startsWith("org/checkerframework/dataflow/qual/") // // Pentaho reports harmless duplicates - || resourcePath.endsWith("overview.html") || resourcePath.endsWith("classic-engine.properties") - || resourcePath.endsWith("loader.properties"); + || resourcePath.endsWith("overview.html") // + || resourcePath.endsWith("classic-engine.properties") // + || resourcePath.endsWith("loader.properties"); // } } diff --git a/integration-tests/dependencies.gradle b/integration-tests/dependencies.gradle index 9052d32c8..3cb0686bf 100644 --- a/integration-tests/dependencies.gradle +++ b/integration-tests/dependencies.gradle @@ -56,6 +56,6 @@ dependencies { testImplementation 'org.mapstruct:mapstruct' testAnnotationProcessor 'org.mapstruct:mapstruct-processor' - testImplementation 'com.github.tomakehurst:wiremock-standalone' - testImplementation 'com.google.guava:guava:32.1.3-jre' + testImplementation 'org.wiremock:wiremock-standalone' + testImplementation 'com.google.guava:guava' } diff --git a/oauth2-tests/dependencies.gradle b/oauth2-tests/dependencies.gradle index d52f85381..a058c7089 100644 --- a/oauth2-tests/dependencies.gradle +++ b/oauth2-tests/dependencies.gradle @@ -24,8 +24,9 @@ dependencies { testImplementation( files("$rootDir/fineract-provider/build/classes/java/main/"), project(path: ':fineract-provider', configuration: 'runtimeElements'), 'org.junit.jupiter:junit-jupiter-api', - 'org.bouncycastle:bcpkix-jdk15to18', - 'org.bouncycastle:bcprov-jdk15to18', + 'org.bouncycastle:bcpkix-jdk18on', + 'org.bouncycastle:bcprov-jdk18on', + 'org.bouncycastle:bcutil-jdk18on', ) testImplementation ('io.rest-assured:rest-assured') { exclude group: 'commons-logging' diff --git a/twofactor-tests/dependencies.gradle b/twofactor-tests/dependencies.gradle index 14a2e25f0..0b594a1c1 100644 --- a/twofactor-tests/dependencies.gradle +++ b/twofactor-tests/dependencies.gradle @@ -25,8 +25,9 @@ dependencies { project(path: ':fineract-provider', configuration: 'runtimeElements'), 'org.junit.jupiter:junit-jupiter-api', 'com.icegreen:greenmail-junit5', - 'org.bouncycastle:bcpkix-jdk15to18', - 'org.bouncycastle:bcprov-jdk15to18', + 'org.bouncycastle:bcpkix-jdk18on', + 'org.bouncycastle:bcprov-jdk18on', + 'org.bouncycastle:bcutil-jdk18on', ) testImplementation ('io.rest-assured:rest-assured') { exclude group: 'commons-logging'