167 lines
5.0 KiB
JSON
167 lines
5.0 KiB
JSON
|
|
{
|
||
|
|
"apiVersion": "camel.apache.org/v1",
|
||
|
|
"kind": "Kamelet",
|
||
|
|
"metadata": {
|
||
|
|
"name": "pqc-kem-action",
|
||
|
|
"annotations": {
|
||
|
|
"camel.apache.org/kamelet.support.level": "Stable",
|
||
|
|
"camel.apache.org/catalog.version": "4.22.1",
|
||
|
|
"camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==",
|
||
|
|
"camel.apache.org/provider": "Apache Software Foundation",
|
||
|
|
"camel.apache.org/kamelet.group": "PQC",
|
||
|
|
"camel.apache.org/kamelet.namespace": "PQC"
|
||
|
|
},
|
||
|
|
"labels": {
|
||
|
|
"camel.apache.org/kamelet.type": "action"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"spec": {
|
||
|
|
"definition": {
|
||
|
|
"title": "PQC Key Encapsulation/Decapsulation Action",
|
||
|
|
"description": "Encapsulate or Decapsulate a secret Key with a Post-Quantum Cryptography Key Encapsulation Mechanism (PQC KEM) algorithm.",
|
||
|
|
"required": [
|
||
|
|
"keyEncapsulationAlgorithm",
|
||
|
|
"operation",
|
||
|
|
"symmetricKeyAlgorithm"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"keyEncapsulationAlgorithm": {
|
||
|
|
"title": "PQC Key Encapsulation Algorithm",
|
||
|
|
"description": "The PQC Key Encapsulation Algorithm to be used.",
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"MLKEM",
|
||
|
|
"BIKE",
|
||
|
|
"HQC",
|
||
|
|
"CMCE",
|
||
|
|
"SABER",
|
||
|
|
"FRODO",
|
||
|
|
"NTRU",
|
||
|
|
"NTRULPRime"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"operation": {
|
||
|
|
"title": "PQC KEM Operation",
|
||
|
|
"description": "The PQC KEM Operation to be performed.",
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"generateSecretKeyEncapsulation",
|
||
|
|
"extractSecretKeyEncapsulation",
|
||
|
|
"extractSecretKeyFromEncapsulation"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"symmetricKeyAlgorithm": {
|
||
|
|
"title": "Symmetric Key Algorithm",
|
||
|
|
"description": "The Symmetric Key Algorithm to be used in KEM operations.",
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"AES",
|
||
|
|
"RC2",
|
||
|
|
"RC5",
|
||
|
|
"ARIA",
|
||
|
|
"CAMELLIA",
|
||
|
|
"CAST5",
|
||
|
|
"CAST6",
|
||
|
|
"CHACHA7539",
|
||
|
|
"DSTU7624",
|
||
|
|
"GOST28147",
|
||
|
|
"GOST3412_2015",
|
||
|
|
"GRAIN128",
|
||
|
|
"HC128",
|
||
|
|
"HC256",
|
||
|
|
"SALSA20",
|
||
|
|
"SEED",
|
||
|
|
"SM4",
|
||
|
|
"DESEDE"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"dependencies": [
|
||
|
|
"camel:http",
|
||
|
|
"camel:kamelet",
|
||
|
|
"camel:core"
|
||
|
|
],
|
||
|
|
"template": {
|
||
|
|
"from": {
|
||
|
|
"uri": "kamelet:source",
|
||
|
|
"steps": [
|
||
|
|
{
|
||
|
|
"to": {
|
||
|
|
"uri": "pqc:kem",
|
||
|
|
"parameters": {
|
||
|
|
"keyEncapsulationAlgorithm": "{{keyEncapsulationAlgorithm}}",
|
||
|
|
"operation": "{{operation}}",
|
||
|
|
"symmetricKeyAlgorithm": "{{symmetricKeyAlgorithm}}"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"propertiesSchema": {
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"type": "object",
|
||
|
|
"title": "PQC Key Encapsulation/Decapsulation Action",
|
||
|
|
"description": "Encapsulate or Decapsulate a secret Key with a Post-Quantum Cryptography Key Encapsulation Mechanism (PQC KEM) algorithm.",
|
||
|
|
"required": [
|
||
|
|
"keyEncapsulationAlgorithm",
|
||
|
|
"operation",
|
||
|
|
"symmetricKeyAlgorithm"
|
||
|
|
],
|
||
|
|
"properties": {
|
||
|
|
"keyEncapsulationAlgorithm": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "PQC Key Encapsulation Algorithm",
|
||
|
|
"description": "The PQC Key Encapsulation Algorithm to be used.",
|
||
|
|
"enum": [
|
||
|
|
"MLKEM",
|
||
|
|
"BIKE",
|
||
|
|
"HQC",
|
||
|
|
"CMCE",
|
||
|
|
"SABER",
|
||
|
|
"FRODO",
|
||
|
|
"NTRU",
|
||
|
|
"NTRULPRime"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"operation": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "PQC KEM Operation",
|
||
|
|
"description": "The PQC KEM Operation to be performed.",
|
||
|
|
"enum": [
|
||
|
|
"generateSecretKeyEncapsulation",
|
||
|
|
"extractSecretKeyEncapsulation",
|
||
|
|
"extractSecretKeyFromEncapsulation"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"symmetricKeyAlgorithm": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Symmetric Key Algorithm",
|
||
|
|
"description": "The Symmetric Key Algorithm to be used in KEM operations.",
|
||
|
|
"enum": [
|
||
|
|
"AES",
|
||
|
|
"RC2",
|
||
|
|
"RC5",
|
||
|
|
"ARIA",
|
||
|
|
"CAMELLIA",
|
||
|
|
"CAST5",
|
||
|
|
"CAST6",
|
||
|
|
"CHACHA7539",
|
||
|
|
"DSTU7624",
|
||
|
|
"GOST28147",
|
||
|
|
"GOST3412_2015",
|
||
|
|
"GRAIN128",
|
||
|
|
"HC128",
|
||
|
|
"HC256",
|
||
|
|
"SALSA20",
|
||
|
|
"SEED",
|
||
|
|
"SM4",
|
||
|
|
"DESEDE"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|