{ "apiVersion": "camel.apache.org/v1", "kind": "Kamelet", "metadata": { "name": "crypto-decrypt-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": "Actions", "camel.apache.org/kamelet.namespace": "Transformation" }, "labels": { "camel.apache.org/kamelet.type": "action" } }, "spec": { "definition": { "title": "Crypto Decrypt Action", "description": "Decrypt the payload using the Java Cryptographic Extension (JCE) and a fixed key.", "required": [ "algorithm", "key" ], "type": "object", "properties": { "algorithm": { "title": "Algorithm", "description": "The JCE algorithm name indicating the cryptographic algorithm that will be used.", "type": "string", "example": "AES" }, "key": { "title": "Secret Key", "description": "The secret key to use to decrypt the payload. The length must match the requirements of the selected algorithm (for example 16, 24 or 32 bytes for AES).", "type": "string", "format": "password", "x-descriptors": [ "urn:camel:group:credentials" ] } } }, "dependencies": [ "camel:kamelet", "camel:core", "camel:crypto" ], "template": { "beans": [ { "name": "cryptoKey", "type": "javax.crypto.spec.SecretKeySpec", "constructors": { "0": "{{key}}", "1": "{{algorithm}}" } } ], "from": { "uri": "kamelet:source", "steps": [ { "unmarshal": { "crypto": { "algorithm": "{{algorithm}}", "key": "{{cryptoKey}}" } } } ] } } }, "propertiesSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "Crypto Decrypt Action", "description": "Decrypt the payload using the Java Cryptographic Extension (JCE) and a fixed key.", "required": [ "algorithm", "key" ], "properties": { "algorithm": { "type": "string", "title": "Algorithm", "description": "The JCE algorithm name indicating the cryptographic algorithm that will be used." }, "key": { "type": "string", "title": "Secret Key", "description": "The secret key to use to decrypt the payload. The length must match the requirements of the selected algorithm (for example 16, 24 or 32 bytes for AES).", "format": "password" } } } }