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());
     }
 }

Reply via email to