This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch as2alg in repository https://gitbox.apache.org/repos/asf/camel.git
commit c6a889915239d570f72abab82842335371178b98 Author: Claus Ibsen <[email protected]> AuthorDate: Tue Oct 8 14:18:48 2024 +0200 CAMEL-21328: camel-as2 - Algorithm picker should deal with upper vs lower case. So header with micalg=sha-256 can select SHA-256. --- .../camel/component/as2/api/AS2MicAlgorithm.java | 5 ++++- .../camel/component/as2/api/AS2MicAlgorithmTest.java | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2MicAlgorithm.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2MicAlgorithm.java index ce0e8795506..713f683a04a 100644 --- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2MicAlgorithm.java +++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2MicAlgorithm.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.as2.api; +import java.util.Locale; import java.util.Optional; interface Constants { @@ -42,7 +43,7 @@ public enum AS2MicAlgorithm { private final String jdkAlgorithmName; private final String as2AlgorithmName; - private AS2MicAlgorithm(String jdkAlgorithmName, String as2AlgorithmName) { + AS2MicAlgorithm(String jdkAlgorithmName, String as2AlgorithmName) { this.jdkAlgorithmName = jdkAlgorithmName; this.as2AlgorithmName = as2AlgorithmName; } @@ -57,6 +58,7 @@ public enum AS2MicAlgorithm { public static String getJdkAlgorithmName(String as2AlgorithmName) { return Optional.ofNullable(as2AlgorithmName) + .map(alg -> alg.toLowerCase(Locale.US)) .map(alg -> alg.replaceAll("-", "")) .map(alg -> switch (alg) { case Constants.MD5_AS2_ALGORITHM_NAME -> Constants.MD5_JDK_ALGORITHM_NAME; @@ -71,6 +73,7 @@ public enum AS2MicAlgorithm { public static String getAS2AlgorithmName(String jdkAlgorithmName) { return Optional.ofNullable(jdkAlgorithmName) + .map(alg -> alg.toUpperCase(Locale.US)) .map(alg -> switch (alg) { case Constants.MD5_JDK_ALGORITHM_NAME -> Constants.MD5_AS2_ALGORITHM_NAME; case Constants.SHA_1_JDK_ALGORITHM_NAME -> Constants.SHA_1_AS2_ALGORITHM_NAME; diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MicAlgorithmTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MicAlgorithmTest.java index 41bcf0df7dc..367c408d4c1 100644 --- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MicAlgorithmTest.java +++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MicAlgorithmTest.java @@ -25,35 +25,55 @@ class AS2MicAlgorithmTest { @Test void test_md5() { assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("md5"), AS2MicAlgorithm.MD5.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("MD5"), AS2MicAlgorithm.MD5.getJdkAlgorithmName()); assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("md-5"), AS2MicAlgorithm.MD5.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("MD-5"), AS2MicAlgorithm.MD5.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("MD5"), AS2MicAlgorithm.MD5.getAs2AlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("md5"), AS2MicAlgorithm.MD5.getAs2AlgorithmName()); } @Test void test_sha1() { assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha1"), AS2MicAlgorithm.SHA_1.getJdkAlgorithmName()); assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha-1"), AS2MicAlgorithm.SHA_1.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA1"), AS2MicAlgorithm.SHA_1.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA-1"), AS2MicAlgorithm.SHA_1.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("SHA-1"), AS2MicAlgorithm.SHA_1.getAs2AlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("sha-1"), AS2MicAlgorithm.SHA_1.getAs2AlgorithmName()); } @Test void test_sha256() { assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha256"), AS2MicAlgorithm.SHA_256.getJdkAlgorithmName()); assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha-256"), AS2MicAlgorithm.SHA_256.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA-256"), AS2MicAlgorithm.SHA_256.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA256"), AS2MicAlgorithm.SHA_256.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("SHA-256"), AS2MicAlgorithm.SHA_256.getAs2AlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("sha-256"), AS2MicAlgorithm.SHA_256.getAs2AlgorithmName()); } @Test void test_sha384() { assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha384"), AS2MicAlgorithm.SHA_384.getJdkAlgorithmName()); assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha-384"), AS2MicAlgorithm.SHA_384.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA384"), AS2MicAlgorithm.SHA_384.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA-384"), AS2MicAlgorithm.SHA_384.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("SHA-384"), AS2MicAlgorithm.SHA_384.getAs2AlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("sha-384"), AS2MicAlgorithm.SHA_384.getAs2AlgorithmName()); } @Test void test_sha512() { assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha512"), AS2MicAlgorithm.SHA_512.getJdkAlgorithmName()); assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("sha-512"), AS2MicAlgorithm.SHA_512.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA512"), AS2MicAlgorithm.SHA_512.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getJdkAlgorithmName("SHA-512"), AS2MicAlgorithm.SHA_512.getJdkAlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("SHA-512"), AS2MicAlgorithm.SHA_512.getAs2AlgorithmName()); + assertEquals(AS2MicAlgorithm.getAS2AlgorithmName("sha-512"), AS2MicAlgorithm.SHA_512.getAs2AlgorithmName()); } }
