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 <[email protected]>
AuthorDate: Fri Apr 18 19:20:15 2025 +0200
CAMEL-21994 - Camel-PQC: Add more Symmetric Algorithms (#17805)
Signed-off-by: Andrea Cosentino <[email protected]>
---
.../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: <code>int</code> 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 {