This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new dc0d3311533 CAMEL-21328: camel-as2 - Algorithm picker should deal with
upper vs lower case. So header with micalg=sha-256 can select SHA-256. (#15884)
dc0d3311533 is described below
commit dc0d3311533fd81aeee062d9610b13e79ed30c26
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Oct 8 15:55:12 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. (#15884)
---
.../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());
}
}