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

davsclaus pushed a commit to branch fix/bc-1.85-algorithm-renames
in repository https://gitbox.apache.org/repos/asf/camel.git

commit de562b499bb476144ef9b063065dbd672ebf23a1
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Jul 13 11:00:49 2026 +0200

    chore: Adapt camel-pqc to Bouncy Castle 1.85 algorithm renames
    
    Bouncy Castle 1.85 removed the pre-standardization PQC algorithm names
    (DILITHIUM, KYBER, SPHINCSPLUS) from the BCPQC provider, replacing them
    with the NIST standardized names (ML-DSA, ML-KEM, SLH-DSA) in the main
    BC provider.
    
    Update the PQC enum values and default parameter specs to use the new
    names while keeping the Camel enum constants unchanged for backward
    compatibility. Users with signatureAlgorithm=DILITHIUM in their routes
    will continue to work transparently.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../pqc/PQCKeyEncapsulationAlgorithms.java         |  2 +-
 .../component/pqc/PQCSignatureAlgorithms.java      |  4 +--
 .../pqc/crypto/PQCDefaultDILITHIUMMaterial.java    |  5 +--
 .../pqc/crypto/PQCDefaultSPHINCSPLUSMaterial.java  |  4 +--
 .../pqc/crypto/kem/PQCDefaultKYBERMaterial.java    |  4 +--
 .../AwsSecretsManagerKeyLifecycleManager.java      | 14 ++++-----
 .../lifecycle/FileBasedKeyLifecycleManager.java    | 14 ++++-----
 .../HashicorpVaultKeyLifecycleManager.java         | 14 ++++-----
 .../pqc/AwsSecretsManagerKeyLifecycleIT.java       | 22 ++++++-------
 .../pqc/HashicorpVaultKeyLifecycleIT.java          | 22 ++++++-------
 .../component/pqc/PQCEndToEndIntegrationTest.java  | 16 +++++-----
 .../pqc/PQCKYBERGenerateEncapsulationAESTest.java  |  4 +--
 .../pqc/PQCKeyLifecycleIntegrationTest.java        | 24 +++++++--------
 .../camel/component/pqc/PQCKeyLifecycleTest.java   | 36 +++++++++++-----------
 .../component/pqc/PQCKeyStatusEnforcementTest.java |  4 +--
 .../component/pqc/PQCSignatureDILITHIUMTest.java   |  4 +--
 .../component/pqc/PQCSignatureSPHINCSPLUSTest.java |  4 +--
 .../PQCDataFormatMultipleAlgorithmsTest.java       |  4 +--
 .../pqc/lifecycle/KeyRotationSchedulerTest.java    |  4 +--
 19 files changed, 103 insertions(+), 102 deletions(-)

diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCKeyEncapsulationAlgorithms.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCKeyEncapsulationAlgorithms.java
index f84d0580e97e..6e060311713c 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCKeyEncapsulationAlgorithms.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCKeyEncapsulationAlgorithms.java
@@ -30,7 +30,7 @@ public enum PQCKeyEncapsulationAlgorithms {
     NTRU("NTRU", "BCPQC"),
     NTRULPRime("NTRULPRime", "BCPQC"),
     SNTRUPrime("SNTRUPrime", "BCPQC"),
-    KYBER("KYBER", "BCPQC");
+    KYBER("ML-KEM", "BC");
 
     private final String algorithm;
     private final String bcProvider;
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSignatureAlgorithms.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSignatureAlgorithms.java
index 234460e1b5f3..a528ecf01c86 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSignatureAlgorithms.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/PQCSignatureAlgorithms.java
@@ -25,14 +25,14 @@ public enum PQCSignatureAlgorithms {
     HSS("LMS", "BC"),
     XMSS("XMSS", "BCPQC"),
     XMSSMT("XMSSMT", "BCPQC"),
-    DILITHIUM("DILITHIUM", "BCPQC"),
+    DILITHIUM("ML-DSA", "BC"),
 
     // Experimental and non-standardized
     FALCON("FALCON", "BCPQC"),
     PICNIC("PICNIC", "BCPQC"),
     SNOVA("Snova", "BCPQC"),
     MAYO("Mayo", "BCPQC"),
-    SPHINCSPLUS("SPHINCSPLUS", "BCPQC");
+    SPHINCSPLUS("SLH-DSA", "BC");
 
     private final String algorithm;
     private final String bcProvider;
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultDILITHIUMMaterial.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultDILITHIUMMaterial.java
index 91d4e61a6093..79b9a5a2b4ed 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultDILITHIUMMaterial.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultDILITHIUMMaterial.java
@@ -19,9 +19,10 @@ package org.apache.camel.component.pqc.crypto;
 import java.security.*;
 
 import org.apache.camel.component.pqc.PQCSignatureAlgorithms;
+import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 
 public class PQCDefaultDILITHIUMMaterial {
     public static final KeyPair keyPair;
@@ -49,7 +50,7 @@ public class PQCDefaultDILITHIUMMaterial {
             throws NoSuchAlgorithmException, NoSuchProviderException, 
InvalidAlgorithmParameterException {
         KeyPairGenerator kpGen = 
KeyPairGenerator.getInstance(PQCSignatureAlgorithms.DILITHIUM.getAlgorithm(),
                 PQCSignatureAlgorithms.DILITHIUM.getBcProvider());
-        kpGen.initialize(DilithiumParameterSpec.dilithium5);
+        kpGen.initialize(MLDSAParameterSpec.ml_dsa_87, 
SecureRandomHelper.getSecureRandom());
         return kpGen;
     }
 }
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSPHINCSPLUSMaterial.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSPHINCSPLUSMaterial.java
index c39278c9c4f9..1b31704a6ca0 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSPHINCSPLUSMaterial.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/PQCDefaultSPHINCSPLUSMaterial.java
@@ -20,9 +20,9 @@ import java.security.*;
 
 import org.apache.camel.component.pqc.PQCSignatureAlgorithms;
 import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec;
 
 public class PQCDefaultSPHINCSPLUSMaterial {
     public static final KeyPair keyPair;
@@ -50,7 +50,7 @@ public class PQCDefaultSPHINCSPLUSMaterial {
             throws NoSuchAlgorithmException, NoSuchProviderException, 
InvalidAlgorithmParameterException {
         KeyPairGenerator kpGen = 
KeyPairGenerator.getInstance(PQCSignatureAlgorithms.SPHINCSPLUS.getAlgorithm(),
                 PQCSignatureAlgorithms.SPHINCSPLUS.getBcProvider());
-        kpGen.initialize(SPHINCSPlusParameterSpec.haraka_256s, 
SecureRandomHelper.getSecureRandom());
+        kpGen.initialize(SLHDSAParameterSpec.slh_dsa_sha2_128s, 
SecureRandomHelper.getSecureRandom());
         return kpGen;
     }
 }
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/kem/PQCDefaultKYBERMaterial.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/kem/PQCDefaultKYBERMaterial.java
index cfb7f8bf4e49..a62f5bc5ff5d 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/kem/PQCDefaultKYBERMaterial.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/crypto/kem/PQCDefaultKYBERMaterial.java
@@ -22,9 +22,9 @@ import javax.crypto.KeyGenerator;
 
 import org.apache.camel.component.pqc.PQCKeyEncapsulationAlgorithms;
 import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.KyberParameterSpec;
 
 public class PQCDefaultKYBERMaterial {
 
@@ -52,7 +52,7 @@ public class PQCDefaultKYBERMaterial {
             throws NoSuchAlgorithmException, NoSuchProviderException, 
InvalidAlgorithmParameterException {
         KeyPairGenerator kpg = 
KeyPairGenerator.getInstance(PQCKeyEncapsulationAlgorithms.KYBER.getAlgorithm(),
                 PQCKeyEncapsulationAlgorithms.KYBER.getBcProvider());
-        kpg.initialize(KyberParameterSpec.kyber1024, 
SecureRandomHelper.getSecureRandom());
+        kpg.initialize(MLKEMParameterSpec.ml_kem_1024, 
SecureRandomHelper.getSecureRandom());
         return kpg;
     }
 
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
index dc5cf6d9baeb..ef2acc2035b2 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/AwsSecretsManagerKeyLifecycleManager.java
@@ -36,6 +36,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.component.pqc.PQCKeyEncapsulationAlgorithms;
 import org.apache.camel.component.pqc.PQCSignatureAlgorithms;
 import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
 import org.bouncycastle.pqc.crypto.lms.LMOtsParameters;
 import org.bouncycastle.pqc.crypto.lms.LMSigParameters;
 import org.bouncycastle.pqc.jcajce.spec.*;
@@ -573,15 +576,13 @@ public class AwsSecretsManagerKeyLifecycleManager 
implements KeyLifecycleManager
         try {
             switch (algorithm) {
                 case "DILITHIUM":
-                    return DilithiumParameterSpec.dilithium2;
                 case "MLDSA":
+                    return MLDSAParameterSpec.ml_dsa_44;
                 case "SLHDSA":
-                    // These use default initialization
-                    return null;
+                case "SPHINCSPLUS":
+                    return SLHDSAParameterSpec.slh_dsa_sha2_128s;
                 case "FALCON":
                     return FalconParameterSpec.falcon_512;
-                case "SPHINCSPLUS":
-                    return SPHINCSPlusParameterSpec.sha2_128s;
                 case "XMSS":
                     return new XMSSParameterSpec(
                             10,
@@ -595,8 +596,7 @@ public class AwsSecretsManagerKeyLifecycleManager 
implements KeyLifecycleManager
                             LMOtsParameters.sha256_n32_w4);
                 case "MLKEM":
                 case "KYBER":
-                    // These use default initialization
-                    return null;
+                    return MLKEMParameterSpec.ml_kem_768;
                 case "NTRU":
                     return NTRUParameterSpec.ntruhps2048509;
                 case "NTRULPRime":
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
index b93bedf9f11a..2b4cba9949c8 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/FileBasedKeyLifecycleManager.java
@@ -48,6 +48,9 @@ import com.fasterxml.jackson.databind.SerializationFeature;
 import org.apache.camel.component.pqc.PQCKeyEncapsulationAlgorithms;
 import org.apache.camel.component.pqc.PQCSignatureAlgorithms;
 import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
 import org.bouncycastle.pqc.crypto.lms.LMOtsParameters;
 import org.bouncycastle.pqc.crypto.lms.LMSigParameters;
 import org.bouncycastle.pqc.jcajce.spec.*;
@@ -491,15 +494,13 @@ public class FileBasedKeyLifecycleManager implements 
KeyLifecycleManager {
         try {
             switch (algorithm) {
                 case "DILITHIUM":
-                    return DilithiumParameterSpec.dilithium2;
                 case "MLDSA":
+                    return MLDSAParameterSpec.ml_dsa_44;
                 case "SLHDSA":
-                    // These use default initialization
-                    return null;
+                case "SPHINCSPLUS":
+                    return SLHDSAParameterSpec.slh_dsa_sha2_128s;
                 case "FALCON":
                     return FalconParameterSpec.falcon_512;
-                case "SPHINCSPLUS":
-                    return SPHINCSPlusParameterSpec.sha2_128s;
                 case "XMSS":
                     return new XMSSParameterSpec(
                             10,
@@ -513,8 +514,7 @@ public class FileBasedKeyLifecycleManager implements 
KeyLifecycleManager {
                             LMOtsParameters.sha256_n32_w4);
                 case "MLKEM":
                 case "KYBER":
-                    // These use default initialization
-                    return null;
+                    return MLKEMParameterSpec.ml_kem_768;
                 case "NTRU":
                     return NTRUParameterSpec.ntruhps2048509;
                 case "NTRULPRime":
diff --git 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
index 060f6c44dc6f..142dfc486877 100644
--- 
a/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
+++ 
b/components/camel-pqc/src/main/java/org/apache/camel/component/pqc/lifecycle/HashicorpVaultKeyLifecycleManager.java
@@ -35,6 +35,9 @@ import java.util.concurrent.ConcurrentHashMap;
 import org.apache.camel.component.pqc.PQCKeyEncapsulationAlgorithms;
 import org.apache.camel.component.pqc.PQCSignatureAlgorithms;
 import org.apache.camel.util.SecureRandomHelper;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
 import org.bouncycastle.pqc.crypto.lms.LMOtsParameters;
 import org.bouncycastle.pqc.crypto.lms.LMSigParameters;
 import org.bouncycastle.pqc.jcajce.spec.*;
@@ -596,15 +599,13 @@ public class HashicorpVaultKeyLifecycleManager implements 
KeyLifecycleManager {
         try {
             switch (algorithm) {
                 case "DILITHIUM":
-                    return DilithiumParameterSpec.dilithium2;
                 case "MLDSA":
+                    return MLDSAParameterSpec.ml_dsa_44;
                 case "SLHDSA":
-                    // These use default initialization
-                    return null;
+                case "SPHINCSPLUS":
+                    return SLHDSAParameterSpec.slh_dsa_sha2_128s;
                 case "FALCON":
                     return FalconParameterSpec.falcon_512;
-                case "SPHINCSPLUS":
-                    return SPHINCSPlusParameterSpec.sha2_128s;
                 case "XMSS":
                     return new XMSSParameterSpec(
                             10,
@@ -618,8 +619,7 @@ public class HashicorpVaultKeyLifecycleManager implements 
KeyLifecycleManager {
                             LMOtsParameters.sha256_n32_w4);
                 case "MLKEM":
                 case "KYBER":
-                    // These use default initialization
-                    return null;
+                    return MLKEMParameterSpec.ml_kem_768;
                 case "NTRU":
                     return NTRUParameterSpec.ntruhps2048509;
                 case "NTRULPRime":
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/AwsSecretsManagerKeyLifecycleIT.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/AwsSecretsManagerKeyLifecycleIT.java
index 4d07bd326aa1..8942bec0c626 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/AwsSecretsManagerKeyLifecycleIT.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/AwsSecretsManagerKeyLifecycleIT.java
@@ -32,9 +32,9 @@ import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
 import org.apache.camel.test.infra.aws.common.services.AWSService;
 import org.apache.camel.test.infra.aws2.services.AWSServiceFactory;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -97,7 +97,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testGenerateAndStoreKeyInSecretsManager() throws Exception {
         // Generate a Dilithium key
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", MLDSAParameterSpec.ml_dsa_44);
 
         assertNotNull(keyPair);
         assertNotNull(keyPair.getPublic());
@@ -133,7 +133,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testKeyRotation() throws Exception {
         // Generate initial key
-        keyManager.generateKeyPair("DILITHIUM", "rotation-key-old", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "rotation-key-old", 
MLDSAParameterSpec.ml_dsa_44);
 
         KeyMetadata oldMetadata = 
keyManager.getKeyMetadata("rotation-key-old");
         assertEquals(KeyMetadata.KeyStatus.ACTIVE, oldMetadata.getStatus());
@@ -153,7 +153,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testNeedsRotation() throws Exception {
-        keyManager.generateKeyPair("DILITHIUM", "rotation-check-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "rotation-check-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // New key should not need rotation
         assertFalse(keyManager.needsRotation("rotation-check-key", 
Duration.ofDays(90), 10000));
@@ -170,9 +170,9 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testListKeys() throws Exception {
         // Generate multiple keys
-        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.generateKeyPair("FALCON", "list-key-2", 
FalconParameterSpec.falcon_512);
-        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
DilithiumParameterSpec.dilithium3);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
MLDSAParameterSpec.ml_dsa_65);
 
         // List all keys
         List<KeyMetadata> keys = keyManager.listKeys();
@@ -187,14 +187,14 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testExpireAndRevokeKey() throws Exception {
         // Test expiration
-        keyManager.generateKeyPair("DILITHIUM", "expire-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "expire-key", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.expireKey("expire-key");
 
         KeyMetadata expiredMetadata = keyManager.getKeyMetadata("expire-key");
         assertEquals(KeyMetadata.KeyStatus.EXPIRED, 
expiredMetadata.getStatus());
 
         // Test revocation
-        keyManager.generateKeyPair("DILITHIUM", "revoke-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "revoke-key", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.revokeKey("revoke-key", "Key compromised in test");
 
         KeyMetadata revokedMetadata = keyManager.getKeyMetadata("revoke-key");
@@ -204,7 +204,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testDeleteKey() throws Exception {
-        keyManager.generateKeyPair("DILITHIUM", "delete-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "delete-key", 
MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(keyManager.getKey("delete-key"));
 
         keyManager.deleteKey("delete-key");
@@ -215,7 +215,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testExportAndImportKey() throws Exception {
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Export public key as PEM
         byte[] exported = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.PEM);
@@ -235,7 +235,7 @@ public class AwsSecretsManagerKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testMetadataTracking() throws Exception {
         // Generate key
-        keyManager.generateKeyPair("DILITHIUM", "tracking-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "tracking-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Get initial metadata
         KeyMetadata metadata = keyManager.getKeyMetadata("tracking-key");
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
index c88f98d1471f..965cf7a3261b 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
@@ -32,9 +32,9 @@ import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
 import 
org.apache.camel.test.infra.hashicorp.vault.services.HashicorpServiceFactory;
 import 
org.apache.camel.test.infra.hashicorp.vault.services.HashicorpVaultService;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.bouncycastle.pqc.jcajce.spec.FalconParameterSpec;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -91,7 +91,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testGenerateAndStoreKeyInVault() throws Exception {
         // Generate a Dilithium key
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", MLDSAParameterSpec.ml_dsa_44);
 
         assertNotNull(keyPair);
         assertNotNull(keyPair.getPublic());
@@ -127,7 +127,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testKeyRotation() throws Exception {
         // Generate initial key
-        keyManager.generateKeyPair("DILITHIUM", "rotation-key-old", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "rotation-key-old", 
MLDSAParameterSpec.ml_dsa_44);
 
         KeyMetadata oldMetadata = 
keyManager.getKeyMetadata("rotation-key-old");
         assertEquals(KeyMetadata.KeyStatus.ACTIVE, oldMetadata.getStatus());
@@ -147,7 +147,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testNeedsRotation() throws Exception {
-        keyManager.generateKeyPair("DILITHIUM", "rotation-check-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "rotation-check-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // New key should not need rotation
         assertFalse(keyManager.needsRotation("rotation-check-key", 
Duration.ofDays(90), 10000));
@@ -164,9 +164,9 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testListKeys() throws Exception {
         // Generate multiple keys
-        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.generateKeyPair("FALCON", "list-key-2", 
FalconParameterSpec.falcon_512);
-        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
DilithiumParameterSpec.dilithium3);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
MLDSAParameterSpec.ml_dsa_65);
 
         // List all keys
         List<KeyMetadata> keys = keyManager.listKeys();
@@ -181,14 +181,14 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testExpireAndRevokeKey() throws Exception {
         // Test expiration
-        keyManager.generateKeyPair("DILITHIUM", "expire-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "expire-key", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.expireKey("expire-key");
 
         KeyMetadata expiredMetadata = keyManager.getKeyMetadata("expire-key");
         assertEquals(KeyMetadata.KeyStatus.EXPIRED, 
expiredMetadata.getStatus());
 
         // Test revocation
-        keyManager.generateKeyPair("DILITHIUM", "revoke-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "revoke-key", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.revokeKey("revoke-key", "Key compromised in test");
 
         KeyMetadata revokedMetadata = keyManager.getKeyMetadata("revoke-key");
@@ -198,7 +198,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testDeleteKey() throws Exception {
-        keyManager.generateKeyPair("DILITHIUM", "delete-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "delete-key", 
MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(keyManager.getKey("delete-key"));
 
         keyManager.deleteKey("delete-key");
@@ -209,7 +209,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
 
     @Test
     public void testExportAndImportKey() throws Exception {
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Export public key as PEM
         byte[] exported = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.PEM);
@@ -229,7 +229,7 @@ public class HashicorpVaultKeyLifecycleIT extends 
CamelTestSupport {
     @Test
     public void testMetadataTracking() throws Exception {
         // Generate key
-        keyManager.generateKeyPair("DILITHIUM", "tracking-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "tracking-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Get initial metadata
         KeyMetadata metadata = keyManager.getKeyMetadata("tracking-key");
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCEndToEndIntegrationTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCEndToEndIntegrationTest.java
index 179a8d29ddef..e7076558c7dd 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCEndToEndIntegrationTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCEndToEndIntegrationTest.java
@@ -33,9 +33,9 @@ import 
org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.bouncycastle.pqc.jcajce.spec.NTRUParameterSpec;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
@@ -90,7 +90,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
         if (keyManager == null && tempDir != null) {
             keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
             // Pre-generate keys needed for binding
-            dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"setup-dilithium", DilithiumParameterSpec.dilithium2);
+            dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"setup-dilithium", MLDSAParameterSpec.ml_dsa_44);
             ntruKeyPair = keyManager.generateKeyPair("NTRU", "setup-ntru", 
NTRUParameterSpec.ntruhps2048509);
         }
     }
@@ -140,7 +140,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
     void testEndToEndSignatureWithGeneratedKey() throws Exception {
         // Step 1: Generate a Dilithium key pair using lifecycle manager
         dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-dilithium-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(dilithiumKeyPair);
 
         // Verify metadata was created
@@ -181,7 +181,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
     @Test
     void testEndToEndKeyRotationWithSigning() throws Exception {
         // Step 1: Generate initial key
-        KeyPair oldKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-old-key", DilithiumParameterSpec.dilithium2);
+        KeyPair oldKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-old-key", MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(oldKeyPair);
 
         // Step 2: Use old key for signing
@@ -225,7 +225,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
     void testEndToEndKeyExportImportAndUse() throws Exception {
         // Step 1: Generate a key
         KeyPair originalKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-export-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
 
         // Step 2: Export the key to PEM format
         byte[] exportedPublicKey = keyManager.exportPublicKey(originalKeyPair, 
KeyLifecycleManager.KeyFormat.PEM);
@@ -266,7 +266,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
     void testEndToEndMultipleSignaturesWithMetadataTracking() throws Exception 
{
         // Step 1: Generate a key
         dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-multi-sig-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
 
         KeyMetadata metadata = keyManager.getKeyMetadata("e2e-multi-sig-key");
         assertEquals(0, metadata.getUsageCount());
@@ -300,7 +300,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
     @Test
     void testEndToEndKeyExpirationPreventsUsage() throws Exception {
         // Step 1: Generate a key
-        dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-expire-key", DilithiumParameterSpec.dilithium2);
+        dilithiumKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"e2e-expire-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Step 2: Use the key successfully
         mockSigned.reset();
@@ -330,7 +330,7 @@ public class PQCEndToEndIntegrationTest extends 
CamelTestSupport {
         String keyId = "e2e-complete-lifecycle-key";
 
         // Phase 1: Creation
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", keyId, 
DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", keyId, 
MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(keyPair);
 
         KeyMetadata metadata = keyManager.getKeyMetadata(keyId);
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKYBERGenerateEncapsulationAESTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKYBERGenerateEncapsulationAESTest.java
index a2f4fb4d94c6..5bdb3be518d7 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKYBERGenerateEncapsulationAESTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKYBERGenerateEncapsulationAESTest.java
@@ -28,9 +28,9 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.bouncycastle.jcajce.SecretKeyWithEncapsulation;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.KyberParameterSpec;
 import org.bouncycastle.util.Arrays;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -92,7 +92,7 @@ public class PQCKYBERGenerateEncapsulationAESTest extends 
CamelTestSupport {
     public KeyPair setKeyPair() throws NoSuchAlgorithmException, 
NoSuchProviderException, InvalidAlgorithmParameterException {
         KeyPairGenerator kpg = 
KeyPairGenerator.getInstance(PQCKeyEncapsulationAlgorithms.KYBER.getAlgorithm(),
                 PQCKeyEncapsulationAlgorithms.KYBER.getBcProvider());
-        kpg.initialize(KyberParameterSpec.kyber1024, new SecureRandom());
+        kpg.initialize(MLKEMParameterSpec.ml_kem_1024, new SecureRandom());
         KeyPair kp = kpg.generateKeyPair();
         return kp;
     }
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleIntegrationTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleIntegrationTest.java
index 43750ca4acf9..63ed838afcae 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleIntegrationTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleIntegrationTest.java
@@ -31,9 +31,9 @@ import 
org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -157,7 +157,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testGenerateKeyThroughRoute() throws Exception {
         // First manually generate a key to test the operation
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"route-test-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"route-test-key", MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(keyPair);
 
         // Verify metadata
@@ -170,7 +170,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testExportKeyThroughManager() throws Exception {
         // Generate a key first
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-route-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-route-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Export the key
         byte[] exportedKey = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.PEM);
@@ -184,7 +184,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testGetMetadataThroughManager() throws Exception {
         // Generate a key
-        keyManager.generateKeyPair("DILITHIUM", "metadata-route-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "metadata-route-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Get metadata
         KeyMetadata metadata = keyManager.getKeyMetadata("metadata-route-key");
@@ -198,9 +198,9 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testListKeysThroughManager() throws Exception {
         // Generate multiple keys
-        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-1", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.generateKeyPair("FALCON", "list-key-2");
-        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
DilithiumParameterSpec.dilithium3);
+        keyManager.generateKeyPair("DILITHIUM", "list-key-3", 
MLDSAParameterSpec.ml_dsa_65);
 
         // List all keys
         List<KeyMetadata> keys = keyManager.listKeys();
@@ -215,7 +215,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testKeyRotationThroughManager() throws Exception {
         // Generate initial key
-        keyManager.generateKeyPair("DILITHIUM", "rotate-old-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "rotate-old-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Rotate the key
         KeyPair newKeyPair = keyManager.rotateKey("rotate-old-key", 
"rotate-new-key", "DILITHIUM");
@@ -234,7 +234,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testExpireKeyThroughManager() throws Exception {
         // Generate a key
-        keyManager.generateKeyPair("DILITHIUM", "expire-route-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "expire-route-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Expire the key
         keyManager.expireKey("expire-route-key");
@@ -248,7 +248,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testRevokeKeyThroughManager() throws Exception {
         // Generate a key
-        keyManager.generateKeyPair("DILITHIUM", "revoke-route-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "revoke-route-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Revoke the key
         String reason = "Security breach detected";
@@ -264,7 +264,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     void testKeyPersistenceAcrossManagers() throws Exception {
         // Generate key with first manager
         KeyPair originalKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"persistence-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
 
         // Create new manager instance
         KeyLifecycleManager newManager = new 
FileBasedKeyLifecycleManager(tempDir.toString());
@@ -280,7 +280,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testKeyMetadataUpdates() throws Exception {
         // Generate a key
-        keyManager.generateKeyPair("DILITHIUM", "update-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "update-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Get and update metadata
         KeyMetadata metadata = keyManager.getKeyMetadata("update-test-key");
@@ -300,7 +300,7 @@ public class PQCKeyLifecycleIntegrationTest extends 
CamelTestSupport {
     @Test
     void testKeyDeletion() throws Exception {
         // Generate a key
-        keyManager.generateKeyPair("DILITHIUM", "delete-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "delete-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Verify it exists
         assertNotNull(keyManager.getKeyMetadata("delete-test-key"));
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleTest.java
index c52302d4fb93..2437a27fab88 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyLifecycleTest.java
@@ -29,9 +29,9 @@ import java.util.List;
 import org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -71,7 +71,7 @@ public class PQCKeyLifecycleTest {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
         // Generate a Dilithium key pair
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"test-dilithium-key", MLDSAParameterSpec.ml_dsa_44);
 
         assertNotNull(keyPair);
         assertNotNull(keyPair.getPublic());
@@ -107,7 +107,7 @@ public class PQCKeyLifecycleTest {
     void testExportKeyToPEM() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-test-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"export-test-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Export public key to PEM
         byte[] publicKeyPEM = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.PEM);
@@ -130,7 +130,7 @@ public class PQCKeyLifecycleTest {
     void testExportKeyToDER() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"der-test-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"der-test-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Export to DER format
         byte[] publicKeyDER = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.DER);
@@ -148,7 +148,7 @@ public class PQCKeyLifecycleTest {
 
         // Generate and export a key
         KeyPair originalKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"import-test-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
         byte[] exportedKey = keyManager.exportPublicKey(originalKeyPair, 
KeyLifecycleManager.KeyFormat.PEM);
 
         // Import the key
@@ -166,7 +166,7 @@ public class PQCKeyLifecycleTest {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
         // Generate initial key
-        KeyPair oldKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"old-key", DilithiumParameterSpec.dilithium2);
+        KeyPair oldKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"old-key", MLDSAParameterSpec.ml_dsa_44);
         assertNotNull(oldKeyPair);
 
         // Rotate the key
@@ -189,7 +189,7 @@ public class PQCKeyLifecycleTest {
     void testKeyMetadataTracking() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"metadata-test-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"metadata-test-key", MLDSAParameterSpec.ml_dsa_44);
         KeyMetadata metadata = keyManager.getKeyMetadata("metadata-test-key");
 
         // Initial state
@@ -215,7 +215,7 @@ public class PQCKeyLifecycleTest {
     void testExpireKey() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "expire-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "expire-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Expire the key
         keyManager.expireKey("expire-test-key");
@@ -230,7 +230,7 @@ public class PQCKeyLifecycleTest {
     void testRevokeKey() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "revoke-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "revoke-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Revoke the key
         String reason = "Compromised key";
@@ -247,9 +247,9 @@ public class PQCKeyLifecycleTest {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
         // Generate multiple keys
-        keyManager.generateKeyPair("DILITHIUM", "key1", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "key1", 
MLDSAParameterSpec.ml_dsa_44);
         keyManager.generateKeyPair("FALCON", "key2");
-        keyManager.generateKeyPair("DILITHIUM", "key3", 
DilithiumParameterSpec.dilithium3);
+        keyManager.generateKeyPair("DILITHIUM", "key3", 
MLDSAParameterSpec.ml_dsa_65);
 
         // List all keys
         List<KeyMetadata> keys = keyManager.listKeys();
@@ -265,7 +265,7 @@ public class PQCKeyLifecycleTest {
     void testDeleteKey() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "delete-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "delete-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Verify key exists
         assertNotNull(keyManager.getKeyMetadata("delete-test-key"));
@@ -281,7 +281,7 @@ public class PQCKeyLifecycleTest {
     void testNeedsRotationByAge() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "age-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "age-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Should not need rotation for young key
         assertFalse(keyManager.needsRotation("age-test-key", 
Duration.ofDays(365), 0));
@@ -295,7 +295,7 @@ public class PQCKeyLifecycleTest {
     void testNeedsRotationByUsage() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "usage-test-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "usage-test-key", 
MLDSAParameterSpec.ml_dsa_44);
 
         // Update usage count
         KeyMetadata metadata = keyManager.getKeyMetadata("usage-test-key");
@@ -317,7 +317,7 @@ public class PQCKeyLifecycleTest {
 
         // Generate and store a key
         KeyPair originalKeyPair = keyManager.generateKeyPair("DILITHIUM", 
"persistence-test-key",
-                DilithiumParameterSpec.dilithium2);
+                MLDSAParameterSpec.ml_dsa_44);
 
         // Create a new manager instance (simulating restart)
         KeyLifecycleManager newManager = new 
FileBasedKeyLifecycleManager(tempDir.toString());
@@ -341,7 +341,7 @@ public class PQCKeyLifecycleTest {
     void testKeyMetadataAge() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        keyManager.generateKeyPair("DILITHIUM", "age-calculation-key", 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", "age-calculation-key", 
MLDSAParameterSpec.ml_dsa_44);
         KeyMetadata metadata = 
keyManager.getKeyMetadata("age-calculation-key");
 
         // Age should be 0 days for just created key
@@ -353,7 +353,7 @@ public class PQCKeyLifecycleTest {
     void testLegacyKeyPairMigration() throws Exception {
         // Seed a real PQC key pair via the manager
         FileBasedKeyLifecycleManager seedManager = new 
FileBasedKeyLifecycleManager(tempDir.toString());
-        KeyPair original = seedManager.generateKeyPair("DILITHIUM", 
"seed-key", DilithiumParameterSpec.dilithium2);
+        KeyPair original = seedManager.generateKeyPair("DILITHIUM", 
"seed-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Write it out in the legacy Java-serialized ".key" format under a 
fresh keyId
         Path legacyKeyFile = tempDir.resolve("legacy-key.key");
@@ -405,7 +405,7 @@ public class PQCKeyLifecycleTest {
     void testMultipleKeyFormats() throws Exception {
         keyManager = new FileBasedKeyLifecycleManager(tempDir.toString());
 
-        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"format-test-key", DilithiumParameterSpec.dilithium2);
+        KeyPair keyPair = keyManager.generateKeyPair("DILITHIUM", 
"format-test-key", MLDSAParameterSpec.ml_dsa_44);
 
         // Test all export formats
         byte[] pemPublic = keyManager.exportPublicKey(keyPair, 
KeyLifecycleManager.KeyFormat.PEM);
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyStatusEnforcementTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyStatusEnforcementTest.java
index 3df374710beb..648d971d4f94 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyStatusEnforcementTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCKeyStatusEnforcementTest.java
@@ -34,9 +34,9 @@ import 
org.apache.camel.component.pqc.lifecycle.FileBasedKeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager;
 import org.apache.camel.component.pqc.lifecycle.KeyMetadata;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
@@ -368,7 +368,7 @@ public class PQCKeyStatusEnforcementTest extends 
CamelTestSupport {
         KeyPairGenerator kpGen = KeyPairGenerator.getInstance(
                 PQCSignatureAlgorithms.DILITHIUM.getAlgorithm(),
                 PQCSignatureAlgorithms.DILITHIUM.getBcProvider());
-        kpGen.initialize(DilithiumParameterSpec.dilithium2, new 
SecureRandom());
+        kpGen.initialize(MLDSAParameterSpec.ml_dsa_44, new SecureRandom());
         sharedKeyPair = kpGen.generateKeyPair();
 
         // Store the key in the lifecycle manager so we can test status 
enforcement
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureDILITHIUMTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureDILITHIUMTest.java
index ed2319cfd68c..d9b02b27b5f3 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureDILITHIUMTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureDILITHIUMTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -78,7 +78,7 @@ public class PQCSignatureDILITHIUMTest extends 
CamelTestSupport {
     public KeyPair setKeyPair() throws NoSuchAlgorithmException, 
NoSuchProviderException, InvalidAlgorithmParameterException {
         KeyPairGenerator kpGen = 
KeyPairGenerator.getInstance(PQCSignatureAlgorithms.DILITHIUM.getAlgorithm(),
                 PQCSignatureAlgorithms.DILITHIUM.getBcProvider());
-        kpGen.initialize(DilithiumParameterSpec.dilithium5);
+        kpGen.initialize(MLDSAParameterSpec.ml_dsa_87);
         KeyPair kp = kpGen.generateKeyPair();
         return kp;
     }
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSPHINCSPLUSTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSPHINCSPLUSTest.java
index ff6d2646be66..c88eac5be14d 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSPHINCSPLUSTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/PQCSignatureSPHINCSPLUSTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.SLHDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.SPHINCSPlusParameterSpec;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -78,7 +78,7 @@ public class PQCSignatureSPHINCSPLUSTest extends 
CamelTestSupport {
     public KeyPair setKeyPair() throws NoSuchAlgorithmException, 
NoSuchProviderException, InvalidAlgorithmParameterException {
         KeyPairGenerator kpGen = 
KeyPairGenerator.getInstance(PQCSignatureAlgorithms.SPHINCSPLUS.getAlgorithm(),
                 PQCSignatureAlgorithms.SPHINCSPLUS.getBcProvider());
-        kpGen.initialize(SPHINCSPlusParameterSpec.haraka_256s, new 
SecureRandom());
+        kpGen.initialize(SLHDSAParameterSpec.slh_dsa_sha2_128s, new 
SecureRandom());
         KeyPair kp = kpGen.generateKeyPair();
         return kp;
     }
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/dataformat/PQCDataFormatMultipleAlgorithmsTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/dataformat/PQCDataFormatMultipleAlgorithmsTest.java
index ae85d4ceaa9b..f18552574960 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/dataformat/PQCDataFormatMultipleAlgorithmsTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/dataformat/PQCDataFormatMultipleAlgorithmsTest.java
@@ -32,9 +32,9 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.pqc.PQCKeyEncapsulationAlgorithms;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.bouncycastle.jcajce.spec.MLKEMParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.KyberParameterSpec;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -98,7 +98,7 @@ public class PQCDataFormatMultipleAlgorithmsTest extends 
CamelTestSupport {
         KeyPairGenerator kpg = KeyPairGenerator.getInstance(
                 PQCKeyEncapsulationAlgorithms.KYBER.getAlgorithm(),
                 PQCKeyEncapsulationAlgorithms.KYBER.getBcProvider());
-        kpg.initialize(KyberParameterSpec.kyber512, new SecureRandom());
+        kpg.initialize(MLKEMParameterSpec.ml_kem_512, new SecureRandom());
         return kpg.generateKeyPair();
     }
 }
diff --git 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/lifecycle/KeyRotationSchedulerTest.java
 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/lifecycle/KeyRotationSchedulerTest.java
index 35fb53d7d4e2..66bac3796358 100644
--- 
a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/lifecycle/KeyRotationSchedulerTest.java
+++ 
b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/lifecycle/KeyRotationSchedulerTest.java
@@ -27,9 +27,9 @@ import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.camel.component.pqc.PQCComponent;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.bouncycastle.jcajce.spec.MLDSAParameterSpec;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider;
-import org.bouncycastle.pqc.jcajce.spec.DilithiumParameterSpec;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -81,7 +81,7 @@ class KeyRotationSchedulerTest {
 
     /** Generates a Dilithium key and drives its recorded usage count to the 
given value. */
     private void generateKeyWithUsage(String keyId, long usage) throws 
Exception {
-        keyManager.generateKeyPair("DILITHIUM", keyId, 
DilithiumParameterSpec.dilithium2);
+        keyManager.generateKeyPair("DILITHIUM", keyId, 
MLDSAParameterSpec.ml_dsa_44);
         KeyMetadata metadata = keyManager.getKeyMetadata(keyId);
         for (long i = 0; i < usage; i++) {
             metadata.updateLastUsed();

Reply via email to