This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new 0834a8f9685 Regen
0834a8f9685 is described below
commit 0834a8f9685f5a062a67f1f9165223180392198b
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 23 14:49:21 2026 +0100
Regen
---
.../camel/springboot/catalog/components/pqc.json | 74 +++++++++++++--------
.../camel-pqc-starter/src/main/docs/pqc.json | 37 +++++++++++
.../pqc/springboot/PQCComponentConfiguration.java | 77 ++++++++++++++++++++++
.../pqc/springboot/PQCComponentConverter.java | 10 +--
4 files changed, 167 insertions(+), 31 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pqc.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pqc.json
index 3ac65b316de..a47e78552d9 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pqc.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pqc.json
@@ -26,21 +26,27 @@
"componentProperties": {
"configuration": { "index": 0, "kind": "property", "displayName":
"Configuration", "group": "producer", "label": "", "required": false, "type":
"object", "javaType": "org.apache.camel.component.pqc.PQCConfiguration",
"deprecated": false, "autowired": false, "secret": false, "description":
"Component configuration" },
"lazyStartProducer": { "index": 1, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Whether the producer should be started lazy (on the first message). By
starting lazy you can use this to allow CamelContext and routes to startup in
situations where a producer may otherwise fail [...]
- "operation": { "index": 2, "kind": "property", "displayName": "Operation",
"group": "producer", "label": "", "required": true, "type": "enum", "javaType":
"org.apache.camel.component.pqc.PQCOperations", "enum": [ "sign", "verify",
"generateSecretKeyEncapsulation", "extractSecretKeyEncapsulation",
"extractSecretKeyFromEncapsulation", "getRemainingSignatures", "getKeyState",
"deleteKeyState", "generateKeyPair", "exportKey", "importKey", "rotateKey",
"getKeyMetadata", "listKeys", "expir [...]
+ "operation": { "index": 2, "kind": "property", "displayName": "Operation",
"group": "producer", "label": "", "required": true, "type": "enum", "javaType":
"org.apache.camel.component.pqc.PQCOperations", "enum": [ "sign", "verify",
"hybridSign", "hybridVerify", "generateSecretKeyEncapsulation",
"extractSecretKeyEncapsulation", "extractSecretKeyFromEncapsulation",
"hybridGenerateSecretKeyEncapsulation", "hybridExtractSecretKeyEncapsulation",
"hybridExtractSecretKeyFromEncapsulation", " [...]
"autowiredEnabled": { "index": 3, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"Whether autowiring is enabled. This is used for automatic autowiring options
(the option must be marked as autowired) by looking up in the registry to find
if there is a single instance of matching t [...]
- "keyEncapsulationAlgorithm": { "index": 4, "kind": "property",
"displayName": "Key Encapsulation Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "MLKEM", "BIKE", "HQC", "CMCE", "SABER", "FRODO", "NTRU",
"NTRULPRime", "SNTRUPrime", "KYBER" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configur [...]
- "keyGenerator": { "index": 5, "kind": "property", "displayName": "Key
Generator", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType": "javax.crypto.KeyGenerator", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The Key Generator to be
used in encapsulation and extraction" },
- "keyPair": { "index": 6, "kind": "property", "displayName": "Key Pair",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The KeyPair to be used" },
- "keyPairAlias": { "index": 7, "kind": "property", "displayName": "Key Pair
Alias", "group": "advanced", "label": "advanced", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "A KeyPair alias to use
in combination with KeyStore parameter" },
- "keyStore": { "index": 8, "kind": "property", "displayName": "Key Store",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyStore", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "A KeyStore where we could get Cryptographic
material" },
- "keyStorePassword": { "index": 9, "kind": "property", "displayName": "Key
Store Password", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The KeyStore password to
use in combination with KeyStore Parameter" },
- "signatureAlgorithm": { "index": 10, "kind": "property", "displayName":
"Signature Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MLDSA",
"SLHDSA", "LMS", "HSS", "XMSS", "XMSSMT", "DILITHIUM", "FALCON", "PICNIC",
"SNOVA", "MAYO", "SPHINCSPLUS" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "c [...]
- "signer": { "index": 11, "kind": "property", "displayName": "Signer",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The Signer to be used" },
- "storeExtractedSecretKeyAsHeader": { "index": 12, "kind": "property",
"displayName": "Store Extracted Secret Key As Header", "group": "advanced",
"label": "advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "In the context of extractSec [...]
- "symmetricKeyAlgorithm": { "index": 13, "kind": "property", "displayName":
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced",
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [
"AES", "ARIA", "RC2", "RC5", "CAMELLIA", "CAST5", "CAST6", "CHACHA7539",
"DSTU7624", "GOST28147", "GOST3412_2015", "GRAIN128", "HC128", "HC256",
"SALSA20", "SEED", "SM4", "DESEDE" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "co [...]
- "symmetricKeyLength": { "index": 14, "kind": "property", "displayName":
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue":
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The required length of
the symmetric key used" },
- "healthCheckConsumerEnabled": { "index": 15, "kind": "property",
"displayName": "Health Check Consumer Enabled", "group": "health", "label":
"health", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Used for enabling or disabling all consumer based health checks
from this component" },
- "healthCheckProducerEnabled": { "index": 16, "kind": "property",
"displayName": "Health Check Producer Enabled", "group": "health", "label":
"health", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Used for enabling or disabling all producer based health checks
from this component. Notice: Camel has by default disabled all producer based
health-checks. You can turn on produce [...]
+ "classicalKEMAlgorithm": { "index": 4, "kind": "property", "displayName":
"Classical KEMAlgorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ECDH_P256",
"ECDH_P384", "ECDH_P521", "X25519", "X448" ], "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "T [...]
+ "classicalKeyAgreement": { "index": 5, "kind": "property", "displayName":
"Classical Key Agreement", "group": "advanced", "label": "advanced",
"required": false, "type": "object", "javaType": "javax.crypto.KeyAgreement",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical
KeyAgreement instance to be used in hybrid KE [...]
+ "classicalKeyPair": { "index": 6, "kind": "property", "displayName":
"Classical Key Pair", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType": "java.security.KeyPair", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical KeyPair to
be used in hybrid operations" },
+ "classicalSignatureAlgorithm": { "index": 7, "kind": "property",
"displayName": "Classical Signature Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "ECDSA_P256", "ECDSA_P384", "ECDSA_P521", "ED25519", "ED448",
"RSA_2048", "RSA_3072", "RSA_4096" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "c [...]
+ "classicalSigner": { "index": 8, "kind": "property", "displayName":
"Classical Signer", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType": "java.security.Signature", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical Signature
instance to be used in hybrid signature operations" },
+ "hybridKdfAlgorithm": { "index": 9, "kind": "property", "displayName":
"Hybrid Kdf Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "HKDF-SHA256",
"HKDF-SHA384", "HKDF-SHA512" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "defaultValue": "HKDF-SHA256",
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "de [...]
+ "keyEncapsulationAlgorithm": { "index": 10, "kind": "property",
"displayName": "Key Encapsulation Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "MLKEM", "BIKE", "HQC", "CMCE", "SABER", "FRODO", "NTRU",
"NTRULPRime", "SNTRUPrime", "KYBER" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configu [...]
+ "keyGenerator": { "index": 11, "kind": "property", "displayName": "Key
Generator", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType": "javax.crypto.KeyGenerator", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The Key Generator to be
used in encapsulation and extraction" },
+ "keyPair": { "index": 12, "kind": "property", "displayName": "Key Pair",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The KeyPair to be used" },
+ "keyPairAlias": { "index": 13, "kind": "property", "displayName": "Key
Pair Alias", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "A KeyPair alias to use
in combination with KeyStore parameter" },
+ "keyStore": { "index": 14, "kind": "property", "displayName": "Key Store",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyStore", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "A KeyStore where we could get Cryptographic
material" },
+ "keyStorePassword": { "index": 15, "kind": "property", "displayName": "Key
Store Password", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The KeyStore password to
use in combination with KeyStore Parameter" },
+ "signatureAlgorithm": { "index": 16, "kind": "property", "displayName":
"Signature Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MLDSA",
"SLHDSA", "LMS", "HSS", "XMSS", "XMSSMT", "DILITHIUM", "FALCON", "PICNIC",
"SNOVA", "MAYO", "SPHINCSPLUS" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "c [...]
+ "signer": { "index": 17, "kind": "property", "displayName": "Signer",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The Signer to be used" },
+ "storeExtractedSecretKeyAsHeader": { "index": 18, "kind": "property",
"displayName": "Store Extracted Secret Key As Header", "group": "advanced",
"label": "advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "In the context of extractSec [...]
+ "symmetricKeyAlgorithm": { "index": 19, "kind": "property", "displayName":
"Symmetric Key Algorithm", "group": "advanced", "label": "advanced",
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [
"AES", "ARIA", "RC2", "RC5", "CAMELLIA", "CAST5", "CAST6", "CHACHA7539",
"DSTU7624", "GOST28147", "GOST3412_2015", "GRAIN128", "HC128", "HC256",
"SALSA20", "SEED", "SM4", "DESEDE" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "co [...]
+ "symmetricKeyLength": { "index": 20, "kind": "property", "displayName":
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue":
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The required length of
the symmetric key used" },
+ "healthCheckConsumerEnabled": { "index": 21, "kind": "property",
"displayName": "Health Check Consumer Enabled", "group": "health", "label":
"health", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Used for enabling or disabling all consumer based health checks
from this component" },
+ "healthCheckProducerEnabled": { "index": 22, "kind": "property",
"displayName": "Health Check Producer Enabled", "group": "health", "label":
"health", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Used for enabling or disabling all producer based health checks
from this component. Notice: Camel has by default disabled all producer based
health-checks. You can turn on produce [...]
},
"headers": {
"CamelPQCOperation": { "index": 0, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The operation we want to perform", "constantName":
"org.apache.camel.component.pqc.PQCConstants#OPERATION" },
@@ -57,22 +63,36 @@
"CamelPQCKeyList": { "index": 11, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType":
"java.util.List", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "List of key metadata", "constantName":
"org.apache.camel.component.pqc.PQCConstants#KEY_LIST" },
"CamelPQCAlgorithm": { "index": 12, "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The algorithm for key generation", "constantName":
"org.apache.camel.component.pqc.PQCConstants#ALGORITHM" },
"CamelPQCIncludePrivate": { "index": 13, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "Boolean",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Include private key in export", "constantName":
"org.apache.camel.component.pqc.PQCConstants#INCLUDE_PRIVATE" },
- "CamelPQCRevocationReason": { "index": 14, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Revocation reason", "constantName":
"org.apache.camel.component.pqc.PQCConstants#REVOCATION_REASON" }
+ "CamelPQCRevocationReason": { "index": 14, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Revocation reason", "constantName":
"org.apache.camel.component.pqc.PQCConstants#REVOCATION_REASON" },
+ "CamelPQCHybridSignature": { "index": 15, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "byte[]",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The hybrid signature combining both classical and PQC
signatures", "constantName":
"org.apache.camel.component.pqc.PQCConstants#HYBRID_SIGNATURE" },
+ "CamelPQCClassicalSignature": { "index": 16, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The classical signature component of a
hybrid signature", "constantName":
"org.apache.camel.component.pqc.PQCConstants#CLASSICAL_SIGNATURE" },
+ "CamelPQCPqcSignature": { "index": 17, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "byte[]",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The PQC signature component of a hybrid signature",
"constantName": "org.apache.camel.component.pqc.PQCConstants#PQC_SIGNATURE" },
+ "CamelPQCClassicalEncapsulation": { "index": 18, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The classical encapsulation component
of a hybrid KEM", "constantName":
"org.apache.camel.component.pqc.PQCConstants#CLASSICAL_ENCAPSULATION" },
+ "CamelPQCPqcEncapsulation": { "index": 19, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The PQC encapsulation component of a
hybrid KEM", "constantName":
"org.apache.camel.component.pqc.PQCConstants#PQC_ENCAPSULATION" },
+ "CamelPQCHybridSecretKey": { "index": 20, "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType":
"javax.crypto.SecretKey", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The combined secret key
from hybrid KEM operation", "constantName":
"org.apache.camel.component.pqc.PQCConstants#HYBRID_SECRET_KEY" },
+ "CamelPQCHybridEncapsulation": { "index": 21, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The hybrid encapsulation combining both
classical and PQC encapsulations", "constantName":
"org.apache.camel.component.pqc.PQCConstants#HYBRID_ENCAPSULATION" },
+ "CamelPQCHybridVerification": { "index": 22, "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The verification result of hybrid
signature (both must pass)", "constantName":
"org.apache.camel.component.pqc.PQCConstants#HYBRID_VERIFY" }
},
"properties": {
"label": { "index": 0, "kind": "path", "displayName": "Label", "group":
"producer", "label": "", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "Logical name" },
- "operation": { "index": 1, "kind": "parameter", "displayName":
"Operation", "group": "producer", "label": "", "required": true, "type":
"enum", "javaType": "org.apache.camel.component.pqc.PQCOperations", "enum": [
"sign", "verify", "generateSecretKeyEncapsulation",
"extractSecretKeyEncapsulation", "extractSecretKeyFromEncapsulation",
"getRemainingSignatures", "getKeyState", "deleteKeyState", "generateKeyPair",
"exportKey", "importKey", "rotateKey", "getKeyMetadata", "listKeys", "expi [...]
+ "operation": { "index": 1, "kind": "parameter", "displayName":
"Operation", "group": "producer", "label": "", "required": true, "type":
"enum", "javaType": "org.apache.camel.component.pqc.PQCOperations", "enum": [
"sign", "verify", "hybridSign", "hybridVerify",
"generateSecretKeyEncapsulation", "extractSecretKeyEncapsulation",
"extractSecretKeyFromEncapsulation", "hybridGenerateSecretKeyEncapsulation",
"hybridExtractSecretKeyEncapsulation",
"hybridExtractSecretKeyFromEncapsulation", [...]
"lazyStartProducer": { "index": 2, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produc [...]
- "keyEncapsulationAlgorithm": { "index": 3, "kind": "parameter",
"displayName": "Key Encapsulation Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "MLKEM", "BIKE", "HQC", "CMCE", "SABER", "FRODO", "NTRU",
"NTRULPRime", "SNTRUPrime", "KYBER" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configu [...]
- "keyGenerator": { "index": 4, "kind": "parameter", "displayName": "Key
Generator", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType": "javax.crypto.KeyGenerator", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The Key Generator to be
used in encapsulation and extraction" },
- "keyPair": { "index": 5, "kind": "parameter", "displayName": "Key Pair",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The KeyPair to be used" },
- "keyPairAlias": { "index": 6, "kind": "parameter", "displayName": "Key
Pair Alias", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "A KeyPair alias to use
in combination with KeyStore parameter" },
- "keyStore": { "index": 7, "kind": "parameter", "displayName": "Key Store",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyStore", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "A KeyStore where we could get Cryptographic
material" },
- "keyStorePassword": { "index": 8, "kind": "parameter", "displayName": "Key
Store Password", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The KeyStore password to
use in combination with KeyStore Parameter" },
- "signatureAlgorithm": { "index": 9, "kind": "parameter", "displayName":
"Signature Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MLDSA",
"SLHDSA", "LMS", "HSS", "XMSS", "XMSSMT", "DILITHIUM", "FALCON", "PICNIC",
"SNOVA", "MAYO", "SPHINCSPLUS" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "c [...]
- "signer": { "index": 10, "kind": "parameter", "displayName": "Signer",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The Signer to be used" },
- "storeExtractedSecretKeyAsHeader": { "index": 11, "kind": "parameter",
"displayName": "Store Extracted Secret Key As Header", "group": "advanced",
"label": "advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "In the context of extractSe [...]
- "symmetricKeyAlgorithm": { "index": 12, "kind": "parameter",
"displayName": "Symmetric Key Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "AES", "ARIA", "RC2", "RC5", "CAMELLIA", "CAST5", "CAST6",
"CHACHA7539", "DSTU7624", "GOST28147", "GOST3412_2015", "GRAIN128", "HC128",
"HC256", "SALSA20", "SEED", "SM4", "DESEDE" ], "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "c [...]
- "symmetricKeyLength": { "index": 13, "kind": "parameter", "displayName":
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue":
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The required length of
the symmetric key used" }
+ "classicalKEMAlgorithm": { "index": 3, "kind": "parameter", "displayName":
"Classical KEMAlgorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "ECDH_P256",
"ECDH_P384", "ECDH_P521", "X25519", "X448" ], "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": " [...]
+ "classicalKeyAgreement": { "index": 4, "kind": "parameter", "displayName":
"Classical Key Agreement", "group": "advanced", "label": "advanced",
"required": false, "type": "object", "javaType": "javax.crypto.KeyAgreement",
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical
KeyAgreement instance to be used in hybrid K [...]
+ "classicalKeyPair": { "index": 5, "kind": "parameter", "displayName":
"Classical Key Pair", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType": "java.security.KeyPair", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical KeyPair to
be used in hybrid operations" },
+ "classicalSignatureAlgorithm": { "index": 6, "kind": "parameter",
"displayName": "Classical Signature Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "ECDSA_P256", "ECDSA_P384", "ECDSA_P521", "ED25519", "ED448",
"RSA_2048", "RSA_3072", "RSA_4096" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", " [...]
+ "classicalSigner": { "index": 7, "kind": "parameter", "displayName":
"Classical Signer", "group": "advanced", "label": "advanced", "required":
false, "type": "object", "javaType": "java.security.Signature", "deprecated":
false, "deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The classical Signature
instance to be used in hybrid signature operations" },
+ "hybridKdfAlgorithm": { "index": 8, "kind": "parameter", "displayName":
"Hybrid Kdf Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "HKDF-SHA256",
"HKDF-SHA384", "HKDF-SHA512" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "defaultValue": "HKDF-SHA256",
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "d [...]
+ "keyEncapsulationAlgorithm": { "index": 9, "kind": "parameter",
"displayName": "Key Encapsulation Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "MLKEM", "BIKE", "HQC", "CMCE", "SABER", "FRODO", "NTRU",
"NTRULPRime", "SNTRUPrime", "KYBER" ], "deprecated": false, "deprecationNote":
"", "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configu [...]
+ "keyGenerator": { "index": 10, "kind": "parameter", "displayName": "Key
Generator", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType": "javax.crypto.KeyGenerator", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The Key Generator to be
used in encapsulation and extraction" },
+ "keyPair": { "index": 11, "kind": "parameter", "displayName": "Key Pair",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.KeyPair", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The KeyPair to be used" },
+ "keyPairAlias": { "index": 12, "kind": "parameter", "displayName": "Key
Pair Alias", "group": "advanced", "label": "advanced", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "A KeyPair alias to use
in combination with KeyStore parameter" },
+ "keyStore": { "index": 13, "kind": "parameter", "displayName": "Key
Store", "group": "advanced", "label": "advanced", "required": false, "type":
"object", "javaType": "java.security.KeyStore", "deprecated": false,
"deprecationNote": "", "autowired": true, "secret": false,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "A KeyStore where we
could get Cryptographic material" },
+ "keyStorePassword": { "index": 14, "kind": "parameter", "displayName":
"Key Store Password", "group": "advanced", "label": "advanced", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The KeyStore password to
use in combination with KeyStore Parameter" },
+ "signatureAlgorithm": { "index": 15, "kind": "parameter", "displayName":
"Signature Algorithm", "group": "advanced", "label": "advanced", "required":
false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MLDSA",
"SLHDSA", "LMS", "HSS", "XMSS", "XMSSMT", "DILITHIUM", "FALCON", "PICNIC",
"SNOVA", "MAYO", "SPHINCSPLUS" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", " [...]
+ "signer": { "index": 16, "kind": "parameter", "displayName": "Signer",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "java.security.Signature", "deprecated": false, "deprecationNote":
"", "autowired": true, "secret": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "The Signer to be used" },
+ "storeExtractedSecretKeyAsHeader": { "index": 17, "kind": "parameter",
"displayName": "Store Extracted Secret Key As Header", "group": "advanced",
"label": "advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.pqc.PQCConfiguration", "configurationField":
"configuration", "description": "In the context of extractSe [...]
+ "symmetricKeyAlgorithm": { "index": 18, "kind": "parameter",
"displayName": "Symmetric Key Algorithm", "group": "advanced", "label":
"advanced", "required": false, "type": "enum", "javaType": "java.lang.String",
"enum": [ "AES", "ARIA", "RC2", "RC5", "CAMELLIA", "CAST5", "CAST6",
"CHACHA7539", "DSTU7624", "GOST28147", "GOST3412_2015", "GRAIN128", "HC128",
"HC256", "SALSA20", "SEED", "SM4", "DESEDE" ], "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "c [...]
+ "symmetricKeyLength": { "index": 19, "kind": "parameter", "displayName":
"Symmetric Key Length", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue":
128, "configurationClass": "org.apache.camel.component.pqc.PQCConfiguration",
"configurationField": "configuration", "description": "The required length of
the symmetric key used" }
}
}
diff --git a/components-starter/camel-pqc-starter/src/main/docs/pqc.json
b/components-starter/camel-pqc-starter/src/main/docs/pqc.json
index cea97cdd4fd..15079e42d58 100644
--- a/components-starter/camel-pqc-starter/src/main/docs/pqc.json
+++ b/components-starter/camel-pqc-starter/src/main/docs/pqc.json
@@ -31,6 +31,36 @@
"sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration",
"defaultValue": true
},
+ {
+ "name": "camel.component.pqc.classical-k-e-m-algorithm",
+ "type": "java.lang.String",
+ "description": "The classical key agreement algorithm to use in hybrid
KEM operations",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration"
+ },
+ {
+ "name": "camel.component.pqc.classical-key-agreement",
+ "type": "javax.crypto.KeyAgreement",
+ "description": "The classical KeyAgreement instance to be used in hybrid
KEM operations. The option is a javax.crypto.KeyAgreement type.",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration"
+ },
+ {
+ "name": "camel.component.pqc.classical-key-pair",
+ "type": "java.security.KeyPair",
+ "description": "The classical KeyPair to be used in hybrid operations.
The option is a java.security.KeyPair type.",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration"
+ },
+ {
+ "name": "camel.component.pqc.classical-signature-algorithm",
+ "type": "java.lang.String",
+ "description": "The classical signature algorithm to use in hybrid
operations",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration"
+ },
+ {
+ "name": "camel.component.pqc.classical-signer",
+ "type": "java.security.Signature",
+ "description": "The classical Signature instance to be used in hybrid
signature operations. The option is a java.security.Signature type.",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration"
+ },
{
"name": "camel.component.pqc.configuration",
"type": "org.apache.camel.component.pqc.PQCConfiguration",
@@ -62,6 +92,13 @@
"sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration",
"defaultValue": true
},
+ {
+ "name": "camel.component.pqc.hybrid-kdf-algorithm",
+ "type": "java.lang.String",
+ "description": "The KDF algorithm to use for combining secrets in hybrid
KEM operations",
+ "sourceType":
"org.apache.camel.component.pqc.springboot.PQCComponentConfiguration",
+ "defaultValue": "HKDF-SHA256"
+ },
{
"name": "camel.component.pqc.key-encapsulation-algorithm",
"type": "java.lang.String",
diff --git
a/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConfiguration.java
b/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConfiguration.java
index e4a6dc95b80..28e8f402c79 100644
---
a/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConfiguration.java
+++
b/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.pqc.springboot;
import java.security.KeyPair;
import java.security.KeyStore;
import java.security.Signature;
+import javax.crypto.KeyAgreement;
import javax.crypto.KeyGenerator;
import org.apache.camel.component.pqc.PQCConfiguration;
import org.apache.camel.component.pqc.PQCOperations;
@@ -69,6 +70,33 @@ public class PQCComponentConfiguration
* etc.
*/
private Boolean autowiredEnabled = true;
+ /**
+ * The classical key agreement algorithm to use in hybrid KEM operations
+ */
+ private String classicalKEMAlgorithm;
+ /**
+ * The classical KeyAgreement instance to be used in hybrid KEM operations.
+ * The option is a javax.crypto.KeyAgreement type.
+ */
+ private KeyAgreement classicalKeyAgreement;
+ /**
+ * The classical KeyPair to be used in hybrid operations. The option is a
+ * java.security.KeyPair type.
+ */
+ private KeyPair classicalKeyPair;
+ /**
+ * The classical signature algorithm to use in hybrid operations
+ */
+ private String classicalSignatureAlgorithm;
+ /**
+ * The classical Signature instance to be used in hybrid signature
+ * operations. The option is a java.security.Signature type.
+ */
+ private Signature classicalSigner;
+ /**
+ * The KDF algorithm to use for combining secrets in hybrid KEM operations
+ */
+ private String hybridKdfAlgorithm = "HKDF-SHA256";
/**
* In case there is no keyGenerator, we specify an algorithm to build the
* KeyGenerator
@@ -164,6 +192,55 @@ public class PQCComponentConfiguration
this.autowiredEnabled = autowiredEnabled;
}
+ public String getClassicalKEMAlgorithm() {
+ return classicalKEMAlgorithm;
+ }
+
+ public void setClassicalKEMAlgorithm(String classicalKEMAlgorithm) {
+ this.classicalKEMAlgorithm = classicalKEMAlgorithm;
+ }
+
+ public KeyAgreement getClassicalKeyAgreement() {
+ return classicalKeyAgreement;
+ }
+
+ public void setClassicalKeyAgreement(KeyAgreement classicalKeyAgreement) {
+ this.classicalKeyAgreement = classicalKeyAgreement;
+ }
+
+ public KeyPair getClassicalKeyPair() {
+ return classicalKeyPair;
+ }
+
+ public void setClassicalKeyPair(KeyPair classicalKeyPair) {
+ this.classicalKeyPair = classicalKeyPair;
+ }
+
+ public String getClassicalSignatureAlgorithm() {
+ return classicalSignatureAlgorithm;
+ }
+
+ public void setClassicalSignatureAlgorithm(
+ String classicalSignatureAlgorithm) {
+ this.classicalSignatureAlgorithm = classicalSignatureAlgorithm;
+ }
+
+ public Signature getClassicalSigner() {
+ return classicalSigner;
+ }
+
+ public void setClassicalSigner(Signature classicalSigner) {
+ this.classicalSigner = classicalSigner;
+ }
+
+ public String getHybridKdfAlgorithm() {
+ return hybridKdfAlgorithm;
+ }
+
+ public void setHybridKdfAlgorithm(String hybridKdfAlgorithm) {
+ this.hybridKdfAlgorithm = hybridKdfAlgorithm;
+ }
+
public String getKeyEncapsulationAlgorithm() {
return keyEncapsulationAlgorithm;
}
diff --git
a/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConverter.java
b/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConverter.java
index c0d62cafeb2..d69c40d0ad1 100644
---
a/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConverter.java
+++
b/components-starter/camel-pqc-starter/src/main/java/org/apache/camel/component/pqc/springboot/PQCComponentConverter.java
@@ -40,10 +40,11 @@ public class PQCComponentConverter implements
GenericConverter {
public Set<ConvertiblePair> getConvertibleTypes() {
Set<ConvertiblePair> answer = new LinkedHashSet<>();
answer.add(new ConvertiblePair(String.class,
org.apache.camel.component.pqc.PQCConfiguration.class));
- answer.add(new ConvertiblePair(String.class,
javax.crypto.KeyGenerator.class));
+ answer.add(new ConvertiblePair(String.class,
javax.crypto.KeyAgreement.class));
answer.add(new ConvertiblePair(String.class,
java.security.KeyPair.class));
- answer.add(new ConvertiblePair(String.class,
java.security.KeyStore.class));
answer.add(new ConvertiblePair(String.class,
java.security.Signature.class));
+ answer.add(new ConvertiblePair(String.class,
javax.crypto.KeyGenerator.class));
+ answer.add(new ConvertiblePair(String.class,
java.security.KeyStore.class));
return answer;
}
@@ -61,10 +62,11 @@ public class PQCComponentConverter implements
GenericConverter {
ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
switch (targetType.getName()) {
case "org.apache.camel.component.pqc.PQCConfiguration": return
applicationContext.getBean(ref,
org.apache.camel.component.pqc.PQCConfiguration.class);
- case "javax.crypto.KeyGenerator": return
applicationContext.getBean(ref, javax.crypto.KeyGenerator.class);
+ case "javax.crypto.KeyAgreement": return
applicationContext.getBean(ref, javax.crypto.KeyAgreement.class);
case "java.security.KeyPair": return
applicationContext.getBean(ref, java.security.KeyPair.class);
- case "java.security.KeyStore": return
applicationContext.getBean(ref, java.security.KeyStore.class);
case "java.security.Signature": return
applicationContext.getBean(ref, java.security.Signature.class);
+ case "javax.crypto.KeyGenerator": return
applicationContext.getBean(ref, javax.crypto.KeyGenerator.class);
+ case "java.security.KeyStore": return
applicationContext.getBean(ref, java.security.KeyStore.class);
}
return null;
}