This is an automated email from the ASF dual-hosted git repository.

acosentino 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 87beee8d4d1 CAMEL-21994 - Camel-PQC: Add more Symmetric Algorithms 
(#17805)
87beee8d4d1 is described below

commit 87beee8d4d1623498629c58746249c1dbbec1a44
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Fri Apr 18 19:20:15 2025 +0200

    CAMEL-21994 - Camel-PQC: Add more Symmetric Algorithms (#17805)
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../org/apache/camel/catalog/components/pqc.json   |  8 +++---
 .../component/pqc/PQCComponentConfigurer.java      |  6 +++++
 .../camel/component/pqc/PQCEndpointConfigurer.java |  6 +++++
 .../camel/component/pqc/PQCEndpointUriFactory.java |  3 ++-
 .../org/apache/camel/component/pqc/pqc.json        |  8 +++---
 .../camel/component/pqc/PQCConfiguration.java      | 14 ++++++++++
 .../apache/camel/component/pqc/PQCProducer.java    |  6 +++--
 .../component/pqc/PQCSymmetricAlgorithms.java      |  6 ++++-
 ...nerateEncapsulationCryptoRoundTripAESTest.java} |  9 +++----
 ...nerateEncapsulationCryptoRoundTripAriaTest.java |  7 ++---
 ...rateEncapsulationCryptoRoundTripCAST5Test.java} | 20 +++++++--------
 ...rateEncapsulationCryptoRoundTripCAST6Test.java} | 18 ++++++-------
 ...ncapsulationCryptoRoundTripCHACHA7539Test.java} | 17 +++++++-----
 ...eEncapsulationCryptoRoundTripCamelliaTest.java} | 20 +++++++--------
 ...nerateEncapsulationCryptoRoundTripRC5Test.java} | 15 ++++++-----
 .../component/dsl/PqcComponentBuilderFactory.java  | 18 +++++++++++++
 .../endpoint/dsl/PQCEndpointBuilderFactory.java    | 30 ++++++++++++++++++++++
 17 files changed, 144 insertions(+), 67 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/pqc.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/pqc.json
index 141ce7e15b2..26cf7e35e7a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/pqc.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/pqc.json
@@ -34,8 +34,9 @@
     "signatureAlgorithm": { "index": 7, "kind": "property", "displayName": 
"Signature Algorithm", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case there is no 
signer, we specify an algorithm to build the KeyPair o [...]
     "signer": { "index": 8, "kind": "property", "displayName": "Signer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The Signer to be used" },
     "symmetricKeyAlgorithm": { "index": 9, "kind": "property", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm  [...]
-    "healthCheckConsumerEnabled": { "index": 10, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
-    "healthCheckProducerEnabled": { "index": 11, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
+    "symmetricKeyLength": { "index": 10, "kind": "property", "displayName": 
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "The required length of 
the symmetric key used" },
+    "healthCheckConsumerEnabled": { "index": 11, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
+    "healthCheckProducerEnabled": { "index": 12, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
   },
   "headers": {
     "CamelPQCOperation": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation we want to perform", "constantName": 
"org.apache.camel.component.pqc.PQCConstants#OPERATION" },
@@ -51,6 +52,7 @@
     "keyPair": { "index": 5, "kind": "parameter", "displayName": "Key Pair", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The KeyPair to be used" },
     "signatureAlgorithm": { "index": 6, "kind": "parameter", "displayName": 
"Signature Algorithm", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case there is no 
signer, we specify an algorithm to build the KeyPair  [...]
     "signer": { "index": 7, "kind": "parameter", "displayName": "Signer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The Signer to be used" },
-    "symmetricKeyAlgorithm": { "index": 8, "kind": "parameter", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm [...]
+    "symmetricKeyAlgorithm": { "index": 8, "kind": "parameter", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm [...]
+    "symmetricKeyLength": { "index": 9, "kind": "parameter", "displayName": 
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "The required length of 
the symmetric key used" }
   }
 }
diff --git 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCComponentConfigurer.java
 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCComponentConfigurer.java
index 405f409a321..ecb99708b40 100644
--- 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCComponentConfigurer.java
+++ 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCComponentConfigurer.java
@@ -51,6 +51,8 @@ public class PQCComponentConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": 
getOrCreateConfiguration(target).setSigner(property(camelContext, 
java.security.Signature.class, value)); return true;
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": 
getOrCreateConfiguration(target).setSymmetricKeyAlgorithm(property(camelContext,
 java.lang.String.class, value)); return true;
+        case "symmetrickeylength":
+        case "symmetricKeyLength": 
getOrCreateConfiguration(target).setSymmetricKeyLength(property(camelContext, 
int.class, value)); return true;
         default: return false;
         }
     }
@@ -84,6 +86,8 @@ public class PQCComponentConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": return java.security.Signature.class;
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": return java.lang.String.class;
+        case "symmetrickeylength":
+        case "symmetricKeyLength": return int.class;
         default: return null;
         }
     }
@@ -113,6 +117,8 @@ public class PQCComponentConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": return getOrCreateConfiguration(target).getSigner();
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": return 
getOrCreateConfiguration(target).getSymmetricKeyAlgorithm();
+        case "symmetrickeylength":
+        case "symmetricKeyLength": return 
getOrCreateConfiguration(target).getSymmetricKeyLength();
         default: return null;
         }
     }
diff --git 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointConfigurer.java
 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointConfigurer.java
index 3b0b352a379..bed7d3a3aa6 100644
--- 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointConfigurer.java
+++ 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointConfigurer.java
@@ -37,6 +37,8 @@ public class PQCEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": 
target.getConfiguration().setSigner(property(camelContext, 
java.security.Signature.class, value)); return true;
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": 
target.getConfiguration().setSymmetricKeyAlgorithm(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "symmetrickeylength":
+        case "symmetricKeyLength": 
target.getConfiguration().setSymmetricKeyLength(property(camelContext, 
int.class, value)); return true;
         default: return false;
         }
     }
@@ -63,6 +65,8 @@ public class PQCEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": return java.security.Signature.class;
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": return java.lang.String.class;
+        case "symmetrickeylength":
+        case "symmetricKeyLength": return int.class;
         default: return null;
         }
     }
@@ -85,6 +89,8 @@ public class PQCEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "signer": return target.getConfiguration().getSigner();
         case "symmetrickeyalgorithm":
         case "symmetricKeyAlgorithm": return 
target.getConfiguration().getSymmetricKeyAlgorithm();
+        case "symmetrickeylength":
+        case "symmetricKeyLength": return 
target.getConfiguration().getSymmetricKeyLength();
         default: return null;
         }
     }
diff --git 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointUriFactory.java
 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointUriFactory.java
index def55d2d54c..9054e90e7ff 100644
--- 
a/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointUriFactory.java
+++ 
b/components/camel-pqc/src/generated/java/org/apache/camel/component/pqc/PQCEndpointUriFactory.java
@@ -23,7 +23,7 @@ public class PQCEndpointUriFactory extends 
org.apache.camel.support.component.En
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(9);
+        Set<String> props = new HashSet<>(10);
         props.add("keyEncapsulationAlgorithm");
         props.add("keyGenerator");
         props.add("keyPair");
@@ -33,6 +33,7 @@ public class PQCEndpointUriFactory extends 
org.apache.camel.support.component.En
         props.add("signatureAlgorithm");
         props.add("signer");
         props.add("symmetricKeyAlgorithm");
+        props.add("symmetricKeyLength");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
         SECRET_PROPERTY_NAMES = Collections.emptySet();
         MULTI_VALUE_PREFIXES = Collections.emptySet();
diff --git 
a/components/camel-pqc/src/generated/resources/META-INF/org/apache/camel/component/pqc/pqc.json
 
b/components/camel-pqc/src/generated/resources/META-INF/org/apache/camel/component/pqc/pqc.json
index 141ce7e15b2..26cf7e35e7a 100644
--- 
a/components/camel-pqc/src/generated/resources/META-INF/org/apache/camel/component/pqc/pqc.json
+++ 
b/components/camel-pqc/src/generated/resources/META-INF/org/apache/camel/component/pqc/pqc.json
@@ -34,8 +34,9 @@
     "signatureAlgorithm": { "index": 7, "kind": "property", "displayName": 
"Signature Algorithm", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case there is no 
signer, we specify an algorithm to build the KeyPair o [...]
     "signer": { "index": 8, "kind": "property", "displayName": "Signer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The Signer to be used" },
     "symmetricKeyAlgorithm": { "index": 9, "kind": "property", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm  [...]
-    "healthCheckConsumerEnabled": { "index": 10, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
-    "healthCheckProducerEnabled": { "index": 11, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
+    "symmetricKeyLength": { "index": 10, "kind": "property", "displayName": 
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "The required length of 
the symmetric key used" },
+    "healthCheckConsumerEnabled": { "index": 11, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
+    "healthCheckProducerEnabled": { "index": 12, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
   },
   "headers": {
     "CamelPQCOperation": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation we want to perform", "constantName": 
"org.apache.camel.component.pqc.PQCConstants#OPERATION" },
@@ -51,6 +52,7 @@
     "keyPair": { "index": 5, "kind": "parameter", "displayName": "Key Pair", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The KeyPair to be used" },
     "signatureAlgorithm": { "index": 6, "kind": "parameter", "displayName": 
"Signature Algorithm", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case there is no 
signer, we specify an algorithm to build the KeyPair  [...]
     "signer": { "index": 7, "kind": "parameter", "displayName": "Signer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote": 
"", "autowired": true, "secret": false, "configurationClass": 
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField": 
"configuration", "description": "The Signer to be used" },
-    "symmetricKeyAlgorithm": { "index": 8, "kind": "parameter", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm [...]
+    "symmetricKeyAlgorithm": { "index": 8, "kind": "parameter", "displayName": 
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "In case we are using KEM 
operations, we need a Symmetric algorithm [...]
+    "symmetricKeyLength": { "index": 9, "kind": "parameter", "displayName": 
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration", 
"configurationField": "configuration", "description": "The required length of 
the symmetric key used" }
   }
 }
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCConfiguration.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCConfiguration.java
index b0f0fa92983..20e3e8982e3 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCConfiguration.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCConfiguration.java
@@ -54,6 +54,9 @@ public class PQCConfiguration implements Cloneable {
     @UriParam
     @Metadata(label = "advanced")
     private String symmetricKeyAlgorithm;
+    @UriParam
+    @Metadata(label = "advanced", defaultValue = "128")
+    private int symmetricKeyLength = 128;
 
     public PQCOperations getOperation() {
         return operation;
@@ -132,6 +135,17 @@ public class PQCConfiguration implements Cloneable {
         this.symmetricKeyAlgorithm = symmetricKeyAlgorithm;
     }
 
+    public int getSymmetricKeyLength() {
+        return symmetricKeyLength;
+    }
+
+    /**
+     * The required length of the symmetric key used
+     */
+    public void setSymmetricKeyLength(int symmetricKeyLength) {
+        this.symmetricKeyLength = symmetricKeyLength;
+    }
+
     // *************************************************
     //
     // *************************************************
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCProducer.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCProducer.java
index 2f3692d6af7..1ab4a966660 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCProducer.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCProducer.java
@@ -143,7 +143,8 @@ public class PQCProducer extends DefaultProducer {
         keyGenerator.init(
                 new KEMGenerateSpec(
                         
getEndpoint().getConfiguration().getKeyPair().getPublic(),
-                        
getEndpoint().getConfiguration().getSymmetricKeyAlgorithm(), 128),
+                        
getEndpoint().getConfiguration().getSymmetricKeyAlgorithm(),
+                        
getEndpoint().getConfiguration().getSymmetricKeyLength()),
                 new SecureRandom());
         // SecretKeyWithEncapsulation is the class to use as the secret key, 
it has additional
         // methods on it for recovering the encapsulation as well.
@@ -165,7 +166,8 @@ public class PQCProducer extends DefaultProducer {
         keyGenerator.init(
                 new KEMExtractSpec(
                         
getEndpoint().getConfiguration().getKeyPair().getPrivate(), 
payload.getEncapsulation(),
-                        
PQCSymmetricAlgorithms.valueOf(getConfiguration().getSymmetricKeyAlgorithm()).getAlgorithm(),
 128),
+                        
PQCSymmetricAlgorithms.valueOf(getConfiguration().getSymmetricKeyAlgorithm()).getAlgorithm(),
+                        
getEndpoint().getConfiguration().getSymmetricKeyLength()),
                 new SecureRandom());
 
         // initialise for extracting the shared secret from the encapsulation.
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSymmetricAlgorithms.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSymmetricAlgorithms.java
index 2e384d48581..60c8d9ec692 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSymmetricAlgorithms.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSymmetricAlgorithms.java
@@ -21,7 +21,11 @@ public enum PQCSymmetricAlgorithms {
     // Standardized and implemented
     AES("AES"),
     RC5("RC5"),
-    ARIA("ARIA");
+    ARIA("ARIA"),
+    CAMELLIA("CAMELLIA"),
+    CAST5("CAST5"),
+    CAST6("CAST6"),
+    CHACHA7539("CHACHA7539");
 
     private final String algorithm;
 
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAESTest.java
similarity index 93%
rename from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripTest.java
rename to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAESTest.java
index b9f1cdb6add..4974bb8aff4 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAESTest.java
@@ -20,10 +20,7 @@ import java.security.*;
 
 import javax.crypto.KeyGenerator;
 
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
+import org.apache.camel.*;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.crypto.CryptoDataFormat;
@@ -37,7 +34,7 @@ import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.*;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAESTest extends 
CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -51,7 +48,7 @@ public class PQCMLKEMGenerateEncapsulationCryptoRoundTripTest 
extends CamelTestS
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAESTest() throws 
NoSuchAlgorithmException {
     }
 
     @Override
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
index 77de14af67d..52770b87f4c 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
@@ -20,10 +20,7 @@ import java.security.*;
 
 import javax.crypto.KeyGenerator;
 
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
+import org.apache.camel.*;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.crypto.CryptoDataFormat;
@@ -57,7 +54,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES", null);
+        CryptoDataFormat cryptoFormat = new CryptoDataFormat("ARIA", null);
         return new RouteBuilder() {
             @Override
             public void configure() {
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST5Test.java
similarity index 86%
copy from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
copy to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST5Test.java
index 77de14af67d..91831b56668 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST5Test.java
@@ -20,10 +20,7 @@ import java.security.*;
 
 import javax.crypto.KeyGenerator;
 
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
+import org.apache.camel.*;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.crypto.CryptoDataFormat;
@@ -38,7 +35,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST5Test extends 
CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -52,19 +49,20 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST5Test() throws 
NoSuchAlgorithmException {
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES", null);
+        CryptoDataFormat cryptoFormat = new CryptoDataFormat("CAST5", null);
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:encapsulate").to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
+                from("direct:encapsulate")
+                        
.to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=CAST5")
                         .to("mock:encapsulate")
-                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
-                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=ARIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=CAST5")
+                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=CAST5")
                         .setHeader(CryptoDataFormat.KEY, body())
                         .setBody(constant("Hello"))
                         .marshal(cryptoFormat)
@@ -92,7 +90,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         templateEncapsulate.sendBody("Hello");
         resultEncapsulate.assertIsSatisfied();
         
assertNotNull(resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class));
-        assertEquals(PQCSymmetricAlgorithms.ARIA.getAlgorithm(),
+        assertEquals(PQCSymmetricAlgorithms.CAST5.getAlgorithm(),
                 
resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class).getAlgorithm());
         
assertNotNull(resultEncrypted.getExchanges().get(0).getMessage().getBody());
         assertEquals("Hello", 
resultDecrypted.getExchanges().get(0).getMessage().getBody(String.class));
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST6Test.java
similarity index 87%
copy from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
copy to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST6Test.java
index 77de14af67d..24f14f46c41 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST6Test.java
@@ -20,10 +20,7 @@ import java.security.*;
 
 import javax.crypto.KeyGenerator;
 
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
+import org.apache.camel.*;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.crypto.CryptoDataFormat;
@@ -38,7 +35,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST6Test extends 
CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -52,7 +49,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripCAST6Test() throws 
NoSuchAlgorithmException {
     }
 
     @Override
@@ -61,10 +58,11 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:encapsulate").to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
+                from("direct:encapsulate")
+                        
.to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=CAST6")
                         .to("mock:encapsulate")
-                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
-                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=ARIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=CAST6")
+                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=CAST6")
                         .setHeader(CryptoDataFormat.KEY, body())
                         .setBody(constant("Hello"))
                         .marshal(cryptoFormat)
@@ -92,7 +90,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         templateEncapsulate.sendBody("Hello");
         resultEncapsulate.assertIsSatisfied();
         
assertNotNull(resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class));
-        assertEquals(PQCSymmetricAlgorithms.ARIA.getAlgorithm(),
+        assertEquals(PQCSymmetricAlgorithms.CAST6.getAlgorithm(),
                 
resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class).getAlgorithm());
         
assertNotNull(resultEncrypted.getExchanges().get(0).getMessage().getBody());
         assertEquals("Hello", 
resultDecrypted.getExchanges().get(0).getMessage().getBody(String.class));
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCHACHA7539Test.java
similarity index 84%
copy from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
copy to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCHACHA7539Test.java
index 77de14af67d..025ef1f6e67 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCHACHA7539Test.java
@@ -38,7 +38,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripCHACHA7539Test 
extends CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -52,19 +52,22 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripCHACHA7539Test() throws 
NoSuchAlgorithmException {
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES", null);
+        CryptoDataFormat cryptoFormat = new CryptoDataFormat("CHACHA7539", 
null);
+        byte[] initializationVector = new byte[] { 0x00, 0x01, 0x02, 0x03, 
0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b };
+        cryptoFormat.setInitializationVector(initializationVector);
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:encapsulate").to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
+                from("direct:encapsulate")
+                        
.to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=CHACHA7539&symmetricKeyLength=256")
                         .to("mock:encapsulate")
-                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
-                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=ARIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=CHACHA7539&symmetricKeyLength=256")
+                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=CHACHA7539&symmetricKeyLength=256")
                         .setHeader(CryptoDataFormat.KEY, body())
                         .setBody(constant("Hello"))
                         .marshal(cryptoFormat)
@@ -92,7 +95,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         templateEncapsulate.sendBody("Hello");
         resultEncapsulate.assertIsSatisfied();
         
assertNotNull(resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class));
-        assertEquals(PQCSymmetricAlgorithms.ARIA.getAlgorithm(),
+        assertEquals(PQCSymmetricAlgorithms.CHACHA7539.getAlgorithm(),
                 
resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class).getAlgorithm());
         
assertNotNull(resultEncrypted.getExchanges().get(0).getMessage().getBody());
         assertEquals("Hello", 
resultDecrypted.getExchanges().get(0).getMessage().getBody(String.class));
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCamelliaTest.java
similarity index 86%
copy from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
copy to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCamelliaTest.java
index 77de14af67d..c4a9ed5ce26 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripCamelliaTest.java
@@ -20,10 +20,7 @@ import java.security.*;
 
 import javax.crypto.KeyGenerator;
 
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
+import org.apache.camel.*;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.crypto.CryptoDataFormat;
@@ -38,7 +35,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripCamelliaTest extends 
CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -52,19 +49,20 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripCamelliaTest() throws 
NoSuchAlgorithmException {
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES", null);
+        CryptoDataFormat cryptoFormat = new CryptoDataFormat("CAMELLIA", null);
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:encapsulate").to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
+                from("direct:encapsulate")
+                        
.to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=CAMELLIA")
                         .to("mock:encapsulate")
-                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
-                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=ARIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=CAMELLIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=CAMELLIA")
                         .setHeader(CryptoDataFormat.KEY, body())
                         .setBody(constant("Hello"))
                         .marshal(cryptoFormat)
@@ -92,7 +90,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         templateEncapsulate.sendBody("Hello");
         resultEncapsulate.assertIsSatisfied();
         
assertNotNull(resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class));
-        assertEquals(PQCSymmetricAlgorithms.ARIA.getAlgorithm(),
+        assertEquals(PQCSymmetricAlgorithms.CAMELLIA.getAlgorithm(),
                 
resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class).getAlgorithm());
         
assertNotNull(resultEncrypted.getExchanges().get(0).getMessage().getBody());
         assertEquals("Hello", 
resultDecrypted.getExchanges().get(0).getMessage().getBody(String.class));
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripRC5Test.java
similarity index 89%
copy from 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
copy to 
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripRC5Test.java
index 77de14af67d..7b3e4960ed5 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCMLKEMGenerateEncapsulationCryptoRoundTripRC5Test.java
@@ -38,7 +38,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends 
CamelTestSupport {
+public class PQCMLKEMGenerateEncapsulationCryptoRoundTripRC5Test extends 
CamelTestSupport {
 
     @EndpointInject("mock:encapsulate")
     protected MockEndpoint resultEncapsulate;
@@ -52,19 +52,20 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
     @EndpointInject("mock:unencrypted")
     protected MockEndpoint resultDecrypted;
 
-    public PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest() throws 
NoSuchAlgorithmException {
+    public PQCMLKEMGenerateEncapsulationCryptoRoundTripRC5Test() throws 
NoSuchAlgorithmException {
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES", null);
+        CryptoDataFormat cryptoFormat = new CryptoDataFormat("RC5", null);
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:encapsulate").to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
+                from("direct:encapsulate")
+                        
.to("pqc:keyenc?operation=generateSecretKeyEncapsulation&symmetricKeyAlgorithm=RC5")
                         .to("mock:encapsulate")
-                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=ARIA")
-                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=ARIA")
+                        
.to("pqc:keyenc?operation=extractSecretKeyEncapsulation&symmetricKeyAlgorithm=RC5")
+                        
.to("pqc:keyenc?operation=extractSecretKeyFromEncapsulation&symmetricKeyAlgorithm=RC5")
                         .setHeader(CryptoDataFormat.KEY, body())
                         .setBody(constant("Hello"))
                         .marshal(cryptoFormat)
@@ -92,7 +93,7 @@ public class 
PQCMLKEMGenerateEncapsulationCryptoRoundTripAriaTest extends CamelT
         templateEncapsulate.sendBody("Hello");
         resultEncapsulate.assertIsSatisfied();
         
assertNotNull(resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class));
-        assertEquals(PQCSymmetricAlgorithms.ARIA.getAlgorithm(),
+        assertEquals(PQCSymmetricAlgorithms.RC5.getAlgorithm(),
                 
resultEncapsulate.getExchanges().get(0).getMessage().getBody(SecretKeyWithEncapsulation.class).getAlgorithm());
         
assertNotNull(resultEncrypted.getExchanges().get(0).getMessage().getBody());
         assertEquals("Hello", 
resultDecrypted.getExchanges().get(0).getMessage().getBody(String.class));
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PqcComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PqcComponentBuilderFactory.java
index e0c6a1d5bbf..89868dcffee 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PqcComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PqcComponentBuilderFactory.java
@@ -226,6 +226,23 @@ public interface PqcComponentBuilderFactory {
         }
     
         
+        /**
+         * The required length of the symmetric key used.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 128
+         * Group: advanced
+         * 
+         * @param symmetricKeyLength the value to set
+         * @return the dsl builder
+         */
+        default PqcComponentBuilder symmetricKeyLength(int symmetricKeyLength) 
{
+            doSetProperty("symmetricKeyLength", symmetricKeyLength);
+            return this;
+        }
+    
+        
         /**
          * Used for enabling or disabling all consumer based health checks from
          * this component.
@@ -293,6 +310,7 @@ public interface PqcComponentBuilderFactory {
             case "signatureAlgorithm": getOrCreateConfiguration((PQCComponent) 
component).setSignatureAlgorithm((java.lang.String) value); return true;
             case "signer": getOrCreateConfiguration((PQCComponent) 
component).setSigner((java.security.Signature) value); return true;
             case "symmetricKeyAlgorithm": 
getOrCreateConfiguration((PQCComponent) 
component).setSymmetricKeyAlgorithm((java.lang.String) value); return true;
+            case "symmetricKeyLength": getOrCreateConfiguration((PQCComponent) 
component).setSymmetricKeyLength((int) value); return true;
             case "healthCheckConsumerEnabled": ((PQCComponent) 
component).setHealthCheckConsumerEnabled((boolean) value); return true;
             case "healthCheckProducerEnabled": ((PQCComponent) 
component).setHealthCheckProducerEnabled((boolean) value); return true;
             default: return false;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PQCEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PQCEndpointBuilderFactory.java
index 52375322438..0b81fe20e54 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PQCEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PQCEndpointBuilderFactory.java
@@ -266,6 +266,36 @@ public interface PQCEndpointBuilderFactory {
             doSetProperty("symmetricKeyAlgorithm", symmetricKeyAlgorithm);
             return this;
         }
+        /**
+         * The required length of the symmetric key used.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 128
+         * Group: advanced
+         * 
+         * @param symmetricKeyLength the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPQCEndpointBuilder symmetricKeyLength(int 
symmetricKeyLength) {
+            doSetProperty("symmetricKeyLength", symmetricKeyLength);
+            return this;
+        }
+        /**
+         * The required length of the symmetric key used.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 128
+         * Group: advanced
+         * 
+         * @param symmetricKeyLength the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPQCEndpointBuilder symmetricKeyLength(String 
symmetricKeyLength) {
+            doSetProperty("symmetricKeyLength", symmetricKeyLength);
+            return this;
+        }
     }
 
     public interface PQCBuilders {

Reply via email to