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 59fac7657c9 CAMEL-21971 - camel-pqc - Provide default KeyPair and
Signature (#17777)
59fac7657c9 is described below
commit 59fac7657c91eff52ba788be6e1df06a9fd78bfd
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Apr 16 14:45:25 2025 +0200
CAMEL-21971 - camel-pqc - Provide default KeyPair and Signature (#17777)
Signed-off-by: Andrea Cosentino <[email protected]>
---
.../apache/camel/component/pqc/PQCComponent.java | 28 ++++++++++++
.../pqc/crypto/PQCDefaultLMSMaterial.java | 51 ++++++++++++++++++++++
.../pqc/crypto/PQCDefaultMLDSAMaterial.java | 50 +++++++++++++++++++++
.../pqc/crypto/PQCDefaultSLHDSAMaterial.java | 50 +++++++++++++++++++++
.../pqc/crypto/PQCDefaultXMSSMaterial.java | 50 +++++++++++++++++++++
.../PQCSignatureFalconNoSignerAutowiredTest.java | 7 ++-
.../component/pqc/PQCSignatureFalconTest.java | 8 +++-
...st.java => PQCSignatureLMSNoAutowiredTest.java} | 21 +++------
.../camel/component/pqc/PQCSignatureLMSTest.java | 8 +++-
....java => PQCSignatureMLDSANoAutowiredTest.java} | 17 ++------
.../pqc/PQCSignatureNoAutowiredSignatureTest.java | 7 ++-
.../component/pqc/PQCSignaturePicnicTest.java | 8 +++-
.../component/pqc/PQCSignatureRainbowTest.java | 8 +++-
...java => PQCSignatureSLHDSANoAutowiredTest.java} | 21 +++------
.../component/pqc/PQCSignatureSLHDSATest.java | 8 +++-
.../camel/component/pqc/PQCSignatureTest.java | 8 +++-
.../pqc/PQCSignatureWrongKeyPairSignatureTest.java | 8 +++-
...t.java => PQCSignatureXMSSNoAutowiredTest.java} | 21 +++------
.../camel/component/pqc/PQCSignatureXMSSTest.java | 9 +++-
19 files changed, 320 insertions(+), 68 deletions(-)
diff --git
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCComponent.java
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCComponent.java
index 8028e79aafb..20b474c21ee 100644
---
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCComponent.java
+++
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCComponent.java
@@ -20,9 +20,14 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.component.pqc.crypto.PQCDefaultLMSMaterial;
+import org.apache.camel.component.pqc.crypto.PQCDefaultMLDSAMaterial;
+import org.apache.camel.component.pqc.crypto.PQCDefaultSLHDSAMaterial;
+import org.apache.camel.component.pqc.crypto.PQCDefaultXMSSMaterial;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.annotations.Component;
import org.apache.camel.support.HealthCheckComponent;
+import org.apache.camel.util.ObjectHelper;
/**
* For working with Post Quantum Cryptography Algorithms
@@ -48,6 +53,29 @@ public class PQCComponent extends HealthCheckComponent {
PQCEndpoint endpoint = new PQCEndpoint(uri, this, configuration);
setProperties(endpoint, parameters);
+ if (ObjectHelper.isEmpty(configuration.getSigner()) &&
ObjectHelper.isEmpty(configuration.getKeyPair())) {
+ switch (configuration.getSignatureAlgorithm()) {
+ case "MLDSA":
+ configuration.setSigner(PQCDefaultMLDSAMaterial.signer);
+ configuration.setKeyPair(PQCDefaultMLDSAMaterial.keyPair);
+ break;
+ case "SLHDSA":
+ configuration.setSigner(PQCDefaultSLHDSAMaterial.signer);
+ configuration.setKeyPair(PQCDefaultSLHDSAMaterial.keyPair);
+ break;
+ case "LMS":
+ configuration.setSigner(PQCDefaultLMSMaterial.signer);
+ configuration.setKeyPair(PQCDefaultLMSMaterial.keyPair);
+ break;
+ case "XMSS":
+ configuration.setSigner(PQCDefaultXMSSMaterial.signer);
+ configuration.setKeyPair(PQCDefaultXMSSMaterial.keyPair);
+ break;
+ default:
+ break;
+ }
+ }
+
return endpoint;
}
diff --git
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultLMSMaterial.java
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultLMSMaterial.java
new file mode 100644
index 00000000000..0c9d37c2da4
--- /dev/null
+++
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultLMSMaterial.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.pqc.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Signature;
+
+import org.bouncycastle.pqc.crypto.lms.LMOtsParameters;
+import org.bouncycastle.pqc.crypto.lms.LMSigParameters;
+import org.bouncycastle.pqc.jcajce.spec.LMSKeyGenParameterSpec;
+
+public class PQCDefaultLMSMaterial {
+ public static final KeyPair keyPair;
+ public static final Signature signer;
+
+ static {
+ KeyPairGenerator generator;
+ try {
+ generator = prepareKeyPair();
+ keyPair = generator.generateKeyPair();
+ signer = Signature.getInstance("LMS");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected static KeyPairGenerator prepareKeyPair()
+ throws NoSuchAlgorithmException, NoSuchProviderException,
InvalidAlgorithmParameterException {
+ KeyPairGenerator kpGen = KeyPairGenerator.getInstance("LMS", "BC");
+ kpGen.initialize(new
LMSKeyGenParameterSpec(LMSigParameters.lms_sha256_n32_h5,
LMOtsParameters.sha256_n32_w1));
+ return kpGen;
+ }
+}
diff --git
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultMLDSAMaterial.java
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultMLDSAMaterial.java
new file mode 100644
index 00000000000..3584582b0ae
--- /dev/null
+++
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultMLDSAMaterial.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.pqc.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.SecureRandom;
+import java.security.Signature;
+
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
+
+public class PQCDefaultMLDSAMaterial {
+ public static final KeyPair keyPair;
+ public static final Signature signer;
+
+ static {
+ KeyPairGenerator generator;
+ try {
+ generator = prepareKeyPair();
+ keyPair = generator.generateKeyPair();
+ signer = Signature.getInstance("ML-DSA");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected static KeyPairGenerator prepareKeyPair()
+ throws NoSuchAlgorithmException, NoSuchProviderException,
InvalidAlgorithmParameterException {
+ KeyPairGenerator kpGen = KeyPairGenerator.getInstance("ML-DSA", "BC");
+ kpGen.initialize(MLDSAParameterSpec.ml_dsa_65, new SecureRandom());
+ return kpGen;
+ }
+}
diff --git
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSLHDSAMaterial.java
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSLHDSAMaterial.java
new file mode 100644
index 00000000000..4d783915556
--- /dev/null
+++
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSLHDSAMaterial.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.pqc.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.SecureRandom;
+import java.security.Signature;
+
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
+
+public class PQCDefaultSLHDSAMaterial {
+ public static final KeyPair keyPair;
+ public static final Signature signer;
+
+ static {
+ KeyPairGenerator generator;
+ try {
+ generator = prepareKeyPair();
+ keyPair = generator.generateKeyPair();
+ signer = Signature.getInstance("SLH-DSA");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected static KeyPairGenerator prepareKeyPair()
+ throws NoSuchAlgorithmException, NoSuchProviderException,
InvalidAlgorithmParameterException {
+ KeyPairGenerator kpGen = KeyPairGenerator.getInstance("SLH-DSA", "BC");
+ kpGen.initialize(SLHDSAParameterSpec.slh_dsa_sha2_128s, new
SecureRandom());
+ return kpGen;
+ }
+}
diff --git
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultXMSSMaterial.java
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultXMSSMaterial.java
new file mode 100644
index 00000000000..48cc6d5e550
--- /dev/null
+++
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultXMSSMaterial.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.pqc.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.SecureRandom;
+import java.security.Signature;
+
+import org.bouncycastle.pqc.jcajce.spec.XMSSParameterSpec;
+
+public class PQCDefaultXMSSMaterial {
+ public static final KeyPair keyPair;
+ public static final Signature signer;
+
+ static {
+ KeyPairGenerator generator;
+ try {
+ generator = prepareKeyPair();
+ keyPair = generator.generateKeyPair();
+ signer = Signature.getInstance("XMSS");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected static KeyPairGenerator prepareKeyPair()
+ throws NoSuchAlgorithmException, NoSuchProviderException,
InvalidAlgorithmParameterException {
+ KeyPairGenerator kpGen = KeyPairGenerator.getInstance("XMSS", "BCPQC");
+ kpGen.initialize(new XMSSParameterSpec(10, XMSSParameterSpec.SHA256),
new SecureRandom());
+ return kpGen;
+ }
+}
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
index b5b25b539de..6df67bfc356 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
@@ -16,7 +16,12 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconTest.java
index f848d40d87b..41a1264cb40 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSNoAutowiredTest.java
similarity index 77%
copy from
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
copy to
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSNoAutowiredTest.java
index 902e1add9d9..0a907a4127b 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSNoAutowiredTest.java
@@ -16,23 +16,22 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.NoSuchAlgorithmException;
+import java.security.Security;
-import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class PQCSignatureNoAutowiredSignatureTest extends CamelTestSupport {
+public class PQCSignatureLMSNoAutowiredTest extends CamelTestSupport {
@EndpointInject("mock:sign")
protected MockEndpoint resultSign;
@@ -43,7 +42,7 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
@Produce("direct:sign")
protected ProducerTemplate templateSign;
- public PQCSignatureNoAutowiredSignatureTest() throws
NoSuchAlgorithmException {
+ public PQCSignatureLMSNoAutowiredTest() throws NoSuchAlgorithmException {
}
@Override
@@ -51,8 +50,8 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
-
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=MLDSA").to("mock:sign")
-
.to("pqc:verify?operation=verify&signatureAlgorithm=MLDSA")
+
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=LMS").to("mock:sign")
+
.to("pqc:verify?operation=verify&signatureAlgorithm=LMS")
.to("mock:verify");
}
};
@@ -72,12 +71,4 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
resultVerify.assertIsSatisfied();
assertTrue(resultVerify.getExchanges().get(0).getMessage().getHeader(PQCConstants.VERIFY,
Boolean.class));
}
-
- @BindToRegistry("Keypair")
- public KeyPair setKeyPair() throws NoSuchAlgorithmException,
NoSuchProviderException, InvalidAlgorithmParameterException {
- KeyPairGenerator kpGen = KeyPairGenerator.getInstance("MLDSA", "BC");
- kpGen.initialize(MLDSAParameterSpec.ml_dsa_65);
- KeyPair kp = kpGen.generateKeyPair();
- return kp;
- }
}
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSTest.java
index 6bfb1b20834..40d3b6cd276 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureLMSTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureMLDSANoAutowiredTest.java
similarity index 79%
copy from
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
copy to
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureMLDSANoAutowiredTest.java
index 902e1add9d9..3b596865ece 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureMLDSANoAutowiredTest.java
@@ -16,23 +16,22 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.NoSuchAlgorithmException;
+import java.security.Security;
-import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class PQCSignatureNoAutowiredSignatureTest extends CamelTestSupport {
+public class PQCSignatureMLDSANoAutowiredTest extends CamelTestSupport {
@EndpointInject("mock:sign")
protected MockEndpoint resultSign;
@@ -43,7 +42,7 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
@Produce("direct:sign")
protected ProducerTemplate templateSign;
- public PQCSignatureNoAutowiredSignatureTest() throws
NoSuchAlgorithmException {
+ public PQCSignatureMLDSANoAutowiredTest() throws NoSuchAlgorithmException {
}
@Override
@@ -72,12 +71,4 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
resultVerify.assertIsSatisfied();
assertTrue(resultVerify.getExchanges().get(0).getMessage().getHeader(PQCConstants.VERIFY,
Boolean.class));
}
-
- @BindToRegistry("Keypair")
- public KeyPair setKeyPair() throws NoSuchAlgorithmException,
NoSuchProviderException, InvalidAlgorithmParameterException {
- KeyPairGenerator kpGen = KeyPairGenerator.getInstance("MLDSA", "BC");
- kpGen.initialize(MLDSAParameterSpec.ml_dsa_65);
- KeyPair kp = kpGen.generateKeyPair();
- return kp;
- }
}
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
index 902e1add9d9..8c3fc0f1eea 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
@@ -16,7 +16,12 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignaturePicnicTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignaturePicnicTest.java
index 6aec74e6097..e809089d78c 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignaturePicnicTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignaturePicnicTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureRainbowTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureRainbowTest.java
index a54159ba043..315de084896 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureRainbowTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureRainbowTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSANoAutowiredTest.java
similarity index 77%
copy from
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
copy to
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSANoAutowiredTest.java
index 902e1add9d9..65086098f60 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureNoAutowiredSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSANoAutowiredTest.java
@@ -16,23 +16,22 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.NoSuchAlgorithmException;
+import java.security.Security;
-import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit5.CamelTestSupport;
-import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class PQCSignatureNoAutowiredSignatureTest extends CamelTestSupport {
+public class PQCSignatureSLHDSANoAutowiredTest extends CamelTestSupport {
@EndpointInject("mock:sign")
protected MockEndpoint resultSign;
@@ -43,7 +42,7 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
@Produce("direct:sign")
protected ProducerTemplate templateSign;
- public PQCSignatureNoAutowiredSignatureTest() throws
NoSuchAlgorithmException {
+ public PQCSignatureSLHDSANoAutowiredTest() throws NoSuchAlgorithmException
{
}
@Override
@@ -51,8 +50,8 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
-
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=MLDSA").to("mock:sign")
-
.to("pqc:verify?operation=verify&signatureAlgorithm=MLDSA")
+
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=SLHDSA").to("mock:sign")
+
.to("pqc:verify?operation=verify&signatureAlgorithm=SLHDSA")
.to("mock:verify");
}
};
@@ -72,12 +71,4 @@ public class PQCSignatureNoAutowiredSignatureTest extends
CamelTestSupport {
resultVerify.assertIsSatisfied();
assertTrue(resultVerify.getExchanges().get(0).getMessage().getHeader(PQCConstants.VERIFY,
Boolean.class));
}
-
- @BindToRegistry("Keypair")
- public KeyPair setKeyPair() throws NoSuchAlgorithmException,
NoSuchProviderException, InvalidAlgorithmParameterException {
- KeyPairGenerator kpGen = KeyPairGenerator.getInstance("MLDSA", "BC");
- kpGen.initialize(MLDSAParameterSpec.ml_dsa_65);
- KeyPair kp = kpGen.generateKeyPair();
- return kp;
- }
}
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSATest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSATest.java
index 716786ee000..7b6c0fe2d86 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSATest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSLHDSATest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureTest.java
index b7c45eeb566..586400bbc73 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureWrongKeyPairSignatureTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureWrongKeyPairSignatureTest.java
index 52b1fb35184..80e123908c5 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureWrongKeyPairSignatureTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureWrongKeyPairSignatureTest.java
@@ -16,7 +16,13 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Security;
import org.apache.camel.*;
import org.apache.camel.builder.RouteBuilder;
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSNoAutowiredTest.java
similarity index 77%
copy from
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
copy to
components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSNoAutowiredTest.java
index b5b25b539de..f6e4c3b8f3c 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureFalconNoSignerAutowiredTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSNoAutowiredTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.NoSuchAlgorithmException;
+import java.security.Security;
-import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
@@ -27,13 +27,12 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public class PQCSignatureFalconNoSignerAutowiredTest extends CamelTestSupport {
+public class PQCSignatureXMSSNoAutowiredTest extends CamelTestSupport {
@EndpointInject("mock:sign")
protected MockEndpoint resultSign;
@@ -44,7 +43,7 @@ public class PQCSignatureFalconNoSignerAutowiredTest extends
CamelTestSupport {
@Produce("direct:sign")
protected ProducerTemplate templateSign;
- public PQCSignatureFalconNoSignerAutowiredTest() throws
NoSuchAlgorithmException {
+ public PQCSignatureXMSSNoAutowiredTest() throws NoSuchAlgorithmException {
}
@Override
@@ -52,8 +51,8 @@ public class PQCSignatureFalconNoSignerAutowiredTest extends
CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
-
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=FALCON").to("mock:sign")
-
.to("pqc:verify?operation=verify&signatureAlgorithm=FALCON")
+
from("direct:sign").to("pqc:sign?operation=sign&signatureAlgorithm=XMSS").to("mock:sign")
+
.to("pqc:verify?operation=verify&signatureAlgorithm=XMSS")
.to("mock:verify");
}
};
@@ -74,12 +73,4 @@ public class PQCSignatureFalconNoSignerAutowiredTest extends
CamelTestSupport {
resultVerify.assertIsSatisfied();
assertTrue(resultVerify.getExchanges().get(0).getMessage().getHeader(PQCConstants.VERIFY,
Boolean.class));
}
-
- @BindToRegistry("Keypair")
- public KeyPair setKeyPair() throws NoSuchAlgorithmException,
NoSuchProviderException, InvalidAlgorithmParameterException {
- KeyPairGenerator kpGen = KeyPairGenerator.getInstance("Falcon",
"BCPQC");
- kpGen.initialize(FalconParameterSpec.falcon_1024);
- KeyPair kp = kpGen.generateKeyPair();
- return kp;
- }
}
diff --git
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSTest.java
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSTest.java
index 768d375eb27..0a36f8ca3a3 100644
---
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSTest.java
+++
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureXMSSTest.java
@@ -16,7 +16,14 @@
*/
package org.apache.camel.component.pqc;
-import java.security.*;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.Signature;
import org.apache.camel.BindToRegistry;
import org.apache.camel.EndpointInject;