This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch df2 in repository https://gitbox.apache.org/repos/asf/camel.git
commit e1447fca90c7dd41a93d0ab99b5bf7a22d754f8a Author: Claus Ibsen <[email protected]> AuthorDate: Mon Aug 18 21:52:08 2025 +0200 CAMEL-22354: dataformats - Align all data formats getter setters to model --- .../camel/catalog/dataformats/xmlSecurity.json | 5 +- .../apache/camel/catalog/models/xmlSecurity.json | 5 +- .../apache/camel/catalog/schemas/camel-spring.xsd | 11 +++- .../apache/camel/catalog/schemas/camel-xml-io.xsd | 11 +++- .../XMLSecurityDataFormatConfigurer.java | 7 ++ .../camel/dataformat/xmlsecurity/xmlSecurity.json | 5 +- .../xmlsecurity/XMLSecurityDataFormat.java | 16 +++-- .../SpringXmlSecurityDataFormatTest-context.xml | 4 +- ...curityDataFormatWithKeyPasswordTest-context.xml | 4 +- .../apache/camel/model/dataformat/xmlSecurity.json | 5 +- .../org/apache/camel/builder/DataFormatClause.java | 18 ++--- .../model/dataformat/XMLSecurityDataFormat.java | 76 +++++++++++++++------- .../dataformat/XMLSecurityDataFormatReifier.java | 5 +- .../java/org/apache/camel/xml/in/ModelParser.java | 3 +- .../java/org/apache/camel/xml/out/ModelWriter.java | 3 +- .../org/apache/camel/yaml/out/ModelWriter.java | 3 +- .../ROOT/pages/camel-4x-upgrade-guide-4_15.adoc | 1 + .../dsl/yaml/deserializers/ModelDeserializers.java | 12 +++- .../generated/resources/schema/camelYamlDsl.json | 9 ++- 19 files changed, 141 insertions(+), 62 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/xmlSecurity.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/xmlSecurity.json index bfbf440f1af..a86c302cc6f 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/xmlSecurity.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/xmlSecurity.json @@ -24,10 +24,11 @@ "secureTagContents": { "index": 5, "kind": "attribute", "displayName": "Secure Tag Contents", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level." }, "keyCipherAlgorithm": { "index": 6, "kind": "attribute", "displayName": "Key Cipher Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "RSA_v1dot5", "RSA_OAEP", "RSA_OAEP_11" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RSA_OAEP", "description": "The cipher algorithm to be used for encryption\/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XM [...] "recipientKeyAlias": { "index": 7, "kind": "attribute", "displayName": "Recipient Key Alias", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption." }, - "keyOrTrustStoreParametersRef": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters Ref", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore." }, + "keyOrTrustStoreParameters": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore [...] "keyPassword": { "index": 9, "kind": "attribute", "displayName": "Key Password", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption." }, "digestAlgorithm": { "index": 10, "kind": "attribute", "displayName": "Digest Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "SHA1", "SHA256", "SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SHA1", "description": "The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1" }, "mgfAlgorithm": { "index": 11, "kind": "attribute", "displayName": "Mgf Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MGF1_SHA1", "MGF1_SHA256", "MGF1_SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MGF1_SHA1", "description": "The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstan [...] - "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." } + "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." }, + "namespace": { "index": 13, "kind": "attribute", "displayName": "Namespace", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a Map XML Namespaces of prefix - uri mappings" } } } diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/xmlSecurity.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/xmlSecurity.json index c8c459e2d45..4a778ce9dff 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/xmlSecurity.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/xmlSecurity.json @@ -21,10 +21,11 @@ "secureTagContents": { "index": 5, "kind": "attribute", "displayName": "Secure Tag Contents", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level." }, "keyCipherAlgorithm": { "index": 6, "kind": "attribute", "displayName": "Key Cipher Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "RSA_v1dot5", "RSA_OAEP", "RSA_OAEP_11" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RSA_OAEP", "description": "The cipher algorithm to be used for encryption\/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XM [...] "recipientKeyAlias": { "index": 7, "kind": "attribute", "displayName": "Recipient Key Alias", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption." }, - "keyOrTrustStoreParametersRef": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters Ref", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore." }, + "keyOrTrustStoreParameters": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore [...] "keyPassword": { "index": 9, "kind": "attribute", "displayName": "Key Password", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption." }, "digestAlgorithm": { "index": 10, "kind": "attribute", "displayName": "Digest Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "SHA1", "SHA256", "SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SHA1", "description": "The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1" }, "mgfAlgorithm": { "index": 11, "kind": "attribute", "displayName": "Mgf Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MGF1_SHA1", "MGF1_SHA256", "MGF1_SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MGF1_SHA1", "description": "The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstan [...] - "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." } + "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." }, + "namespace": { "index": 13, "kind": "attribute", "displayName": "Namespace", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a Map XML Namespaces of prefix - uri mappings" } } } diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd index 2f7ce04730d..f5ef62935ff 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd @@ -10561,7 +10561,7 @@ asymmetric key encryption or decryption. </xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="keyOrTrustStoreParametersRef" type="xs:string"> + <xs:attribute name="keyOrTrustStoreParameters" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="en"> <![CDATA[ @@ -10607,6 +10607,15 @@ Default value: MGF1_SHA1 <![CDATA[ Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not. Default value: true +]]> + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="namespace" type="xs:string"> + <xs:annotation> + <xs:documentation xml:lang="en"> +<![CDATA[ +Refers to a Map XML Namespaces of prefix - uri mappings. ]]> </xs:documentation> </xs:annotation> diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd index 8f4209fd79c..0e73d9f4424 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd @@ -9234,7 +9234,7 @@ asymmetric key encryption or decryption. </xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="keyOrTrustStoreParametersRef" type="xs:string"> + <xs:attribute name="keyOrTrustStoreParameters" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="en"> <![CDATA[ @@ -9280,6 +9280,15 @@ Default value: MGF1_SHA1 <![CDATA[ Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not. Default value: true +]]> + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="namespace" type="xs:string"> + <xs:annotation> + <xs:documentation xml:lang="en"> +<![CDATA[ +Refers to a Map XML Namespaces of prefix - uri mappings. ]]> </xs:documentation> </xs:annotation> diff --git a/components/camel-xmlsecurity/src/generated/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormatConfigurer.java b/components/camel-xmlsecurity/src/generated/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormatConfigurer.java index ca8eac74b32..45ca3d4ef8a 100644 --- a/components/camel-xmlsecurity/src/generated/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormatConfigurer.java +++ b/components/camel-xmlsecurity/src/generated/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormatConfigurer.java @@ -25,6 +25,7 @@ public class XMLSecurityDataFormatConfigurer extends org.apache.camel.support.co map.put("AddKeyValueForEncryptedKey", boolean.class); map.put("DigestAlgorithm", java.lang.String.class); map.put("KeyCipherAlgorithm", java.lang.String.class); + map.put("KeyOrTrustStoreParameters", org.apache.camel.support.jsse.KeyStoreParameters.class); map.put("KeyPassword", java.lang.String.class); map.put("MgfAlgorithm", java.lang.String.class); map.put("PassPhrase", byte[].class); @@ -45,6 +46,8 @@ public class XMLSecurityDataFormatConfigurer extends org.apache.camel.support.co case "digestAlgorithm": target.setDigestAlgorithm(property(camelContext, java.lang.String.class, value)); return true; case "keycipheralgorithm": case "keyCipherAlgorithm": target.setKeyCipherAlgorithm(property(camelContext, java.lang.String.class, value)); return true; + case "keyortruststoreparameters": + case "keyOrTrustStoreParameters": target.setKeyOrTrustStoreParameters(property(camelContext, org.apache.camel.support.jsse.KeyStoreParameters.class, value)); return true; case "keypassword": case "keyPassword": target.setKeyPassword(property(camelContext, java.lang.String.class, value)); return true; case "mgfalgorithm": @@ -77,6 +80,8 @@ public class XMLSecurityDataFormatConfigurer extends org.apache.camel.support.co case "digestAlgorithm": return java.lang.String.class; case "keycipheralgorithm": case "keyCipherAlgorithm": return java.lang.String.class; + case "keyortruststoreparameters": + case "keyOrTrustStoreParameters": return org.apache.camel.support.jsse.KeyStoreParameters.class; case "keypassword": case "keyPassword": return java.lang.String.class; case "mgfalgorithm": @@ -105,6 +110,8 @@ public class XMLSecurityDataFormatConfigurer extends org.apache.camel.support.co case "digestAlgorithm": return target.getDigestAlgorithm(); case "keycipheralgorithm": case "keyCipherAlgorithm": return target.getKeyCipherAlgorithm(); + case "keyortruststoreparameters": + case "keyOrTrustStoreParameters": return target.getKeyOrTrustStoreParameters(); case "keypassword": case "keyPassword": return target.getKeyPassword(); case "mgfalgorithm": diff --git a/components/camel-xmlsecurity/src/generated/resources/META-INF/org/apache/camel/dataformat/xmlsecurity/xmlSecurity.json b/components/camel-xmlsecurity/src/generated/resources/META-INF/org/apache/camel/dataformat/xmlsecurity/xmlSecurity.json index bfbf440f1af..a86c302cc6f 100644 --- a/components/camel-xmlsecurity/src/generated/resources/META-INF/org/apache/camel/dataformat/xmlsecurity/xmlSecurity.json +++ b/components/camel-xmlsecurity/src/generated/resources/META-INF/org/apache/camel/dataformat/xmlsecurity/xmlSecurity.json @@ -24,10 +24,11 @@ "secureTagContents": { "index": 5, "kind": "attribute", "displayName": "Secure Tag Contents", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level." }, "keyCipherAlgorithm": { "index": 6, "kind": "attribute", "displayName": "Key Cipher Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "RSA_v1dot5", "RSA_OAEP", "RSA_OAEP_11" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RSA_OAEP", "description": "The cipher algorithm to be used for encryption\/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XM [...] "recipientKeyAlias": { "index": 7, "kind": "attribute", "displayName": "Recipient Key Alias", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption." }, - "keyOrTrustStoreParametersRef": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters Ref", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore." }, + "keyOrTrustStoreParameters": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore [...] "keyPassword": { "index": 9, "kind": "attribute", "displayName": "Key Password", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption." }, "digestAlgorithm": { "index": 10, "kind": "attribute", "displayName": "Digest Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "SHA1", "SHA256", "SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SHA1", "description": "The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1" }, "mgfAlgorithm": { "index": 11, "kind": "attribute", "displayName": "Mgf Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MGF1_SHA1", "MGF1_SHA256", "MGF1_SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MGF1_SHA1", "description": "The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstan [...] - "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." } + "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." }, + "namespace": { "index": 13, "kind": "attribute", "displayName": "Namespace", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a Map XML Namespaces of prefix - uri mappings" } } } diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java index ced5d1801a5..ab86f047bd4 100644 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java @@ -99,6 +99,7 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, private String keyPassword; private KeyStoreParameters keyOrTrustStoreParameters; + private Map<String, String> namespaces; private CamelContext camelContext; private DefaultNamespaceContext nsContext = new DefaultNamespaceContext(); @@ -264,6 +265,10 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, @Override protected void doStart() throws Exception { CamelContextAware.trySetCamelContext(keyOrTrustStoreParameters, getCamelContext()); + if (namespaces != null) { + getNamespaceContext().setNamespaces(namespaces); + } + } @Override @@ -840,10 +845,6 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, return this.keyOrTrustStoreParameters; } - public void setNamespaces(Map<String, String> namespaces) { - getNamespaceContext().setNamespaces(namespaces); - } - public String getKeyPassword() { return keyPassword; } @@ -876,4 +877,11 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, this.addKeyValueForEncryptedKey = addKeyValueForEncryptedKey; } + public Map<String, String> getNamespaces() { + return namespaces; + } + + public void setNamespaces(Map<String, String> namespaces) { + this.namespaces = namespaces; + } } diff --git a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatTest-context.xml b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatTest-context.xml index d4b828d1eae..cdb9ae914a2 100644 --- a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatTest-context.xml +++ b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatTest-context.xml @@ -47,7 +47,7 @@ xmlCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" keyCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" recipientKeyAlias="recipient" - keyOrTrustStoreParametersRef="trustStoreParams" /> + keyOrTrustStoreParameters="trustStoreParams" /> </marshal> <to uri="mock:encrypted"/> <to uri="direct://encrypted"/> @@ -61,7 +61,7 @@ xmlCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" keyCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" recipientKeyAlias="recipient" - keyOrTrustStoreParametersRef="keyStoreParams" /> + keyOrTrustStoreParameters="keyStoreParams" /> </unmarshal> <to uri="mock://decrypted"/> </route> diff --git a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatWithKeyPasswordTest-context.xml b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatWithKeyPasswordTest-context.xml index 60e3880ec87..71672dd2bbb 100644 --- a/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatWithKeyPasswordTest-context.xml +++ b/components/camel-xmlsecurity/src/test/resources/org/apache/camel/dataformat/xmlsecurity/SpringXmlSecurityDataFormatWithKeyPasswordTest-context.xml @@ -47,7 +47,7 @@ xmlCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" keyCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" recipientKeyAlias="recipient" - keyOrTrustStoreParametersRef="trustStoreParams" /> + keyOrTrustStoreParameters="trustStoreParams" /> </marshal> <to uri="mock:encrypted"/> <to uri="direct://encrypted"/> @@ -61,7 +61,7 @@ xmlCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" keyCipherAlgorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" recipientKeyAlias="recipient" - keyOrTrustStoreParametersRef="keyStoreParams" + keyOrTrustStoreParameters="keyStoreParams" keyPassword="keyPassword"/> </unmarshal> <to uri="mock://decrypted"/> diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/xmlSecurity.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/xmlSecurity.json index c8c459e2d45..4a778ce9dff 100644 --- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/xmlSecurity.json +++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/xmlSecurity.json @@ -21,10 +21,11 @@ "secureTagContents": { "index": 5, "kind": "attribute", "displayName": "Secure Tag Contents", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level." }, "keyCipherAlgorithm": { "index": 6, "kind": "attribute", "displayName": "Key Cipher Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "RSA_v1dot5", "RSA_OAEP", "RSA_OAEP_11" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RSA_OAEP", "description": "The cipher algorithm to be used for encryption\/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XM [...] "recipientKeyAlias": { "index": 7, "kind": "attribute", "displayName": "Recipient Key Alias", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption." }, - "keyOrTrustStoreParametersRef": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters Ref", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore." }, + "keyOrTrustStoreParameters": { "index": 8, "kind": "attribute", "displayName": "Key Or Trust Store Parameters", "group": "common", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore [...] "keyPassword": { "index": 9, "kind": "attribute", "displayName": "Key Password", "group": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption." }, "digestAlgorithm": { "index": 10, "kind": "attribute", "displayName": "Digest Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "SHA1", "SHA256", "SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SHA1", "description": "The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1" }, "mgfAlgorithm": { "index": 11, "kind": "attribute", "displayName": "Mgf Algorithm", "group": "common", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "MGF1_SHA1", "MGF1_SHA256", "MGF1_SHA512" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MGF1_SHA1", "description": "The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstan [...] - "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." } + "addKeyValueForEncryptedKey": { "index": 12, "kind": "attribute", "displayName": "Add Key Value For Encrypted Key", "group": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not." }, + "namespace": { "index": 13, "kind": "attribute", "displayName": "Namespace", "group": "common", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "description": "Refers to a Map XML Namespaces of prefix - uri mappings" } } } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java index 0ebc7910894..bc446576f81 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java @@ -1159,7 +1159,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParametersRef(keyOrTrustStoreParametersId); + xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParametersId); return dataFormat(xsdf); } @@ -1176,7 +1176,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParametersRef(keyOrTrustStoreParametersId); + xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParametersId); xsdf.setKeyPassword(keyPassword); return dataFormat(xsdf); } @@ -1194,7 +1194,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParameters); + xsdf.setKeyStoreParameters(keyOrTrustStoreParameters); return dataFormat(xsdf); } @@ -1211,7 +1211,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParameters); + xsdf.setKeyStoreParameters(keyOrTrustStoreParameters); xsdf.setKeyPassword(keyPassword); return dataFormat(xsdf); } @@ -1229,7 +1229,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParametersRef(keyOrTrustStoreParametersId); + xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParametersId); return dataFormat(xsdf); } @@ -1246,7 +1246,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParametersRef(keyOrTrustStoreParametersId); + xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParametersId); xsdf.setKeyPassword(keyPassword); return dataFormat(xsdf); } @@ -1265,7 +1265,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParameters); + xsdf.setKeyStoreParameters(keyOrTrustStoreParameters); return dataFormat(xsdf); } @@ -1283,7 +1283,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParameters); + xsdf.setKeyStoreParameters(keyOrTrustStoreParameters); xsdf.setKeyPassword(keyPassword); return dataFormat(xsdf); } @@ -1302,7 +1302,7 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> { xsdf.setRecipientKeyAlias(recipientKeyAlias); xsdf.setXmlCipherAlgorithm(xmlCipherAlgorithm); xsdf.setKeyCipherAlgorithm(keyCipherAlgorithm); - xsdf.setKeyOrTrustStoreParameters(keyOrTrustStoreParameters); + xsdf.setKeyStoreParameters(keyOrTrustStoreParameters); xsdf.setDigestAlgorithm(digestAlgorithm); xsdf.setKeyPassword(keyPassword); return dataFormat(xsdf); diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java index 5e135d40527..26ba52c0105 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/XMLSecurityDataFormat.java @@ -40,14 +40,20 @@ import org.apache.camel.support.jsse.KeyStoreParameters; @XmlAccessorType(XmlAccessType.FIELD) public class XMLSecurityDataFormat extends DataFormatDefinition implements NamespaceAware { + @XmlTransient + private KeyStoreParameters keyStoreParameters; + @XmlTransient + private Map<String, String> namespaces; + @XmlAttribute @Metadata(defaultValue = "AES-256-GCM", enums = "TRIPLEDES,AES_128,AES_128_GCM,AES_192,AES_192_GCM,AES_256,AES_256_GCM,SEED_128,CAMELLIA_128,CAMELLIA_192,CAMELLIA_256") private String xmlCipherAlgorithm; @XmlAttribute + @Metadata(secret = true) private String passPhrase; @XmlAttribute - @Metadata(label = "advanced") + @Metadata(label = "advanced", secret = true) private byte[] passPhraseByte; @XmlAttribute private String secureTag; @@ -60,7 +66,8 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names @XmlAttribute private String recipientKeyAlias; @XmlAttribute - private String keyOrTrustStoreParametersRef; + @Metadata(javaType = "org.apache.camel.support.jsse.KeyStoreParameters") + private String keyOrTrustStoreParameters; @XmlAttribute private String keyPassword; @XmlAttribute @@ -72,10 +79,9 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names @XmlAttribute @Metadata(javaType = "java.lang.Boolean", defaultValue = "true") private String addKeyValueForEncryptedKey; - @XmlTransient - private KeyStoreParameters keyOrTrustStoreParameters; - @XmlTransient - private Map<String, String> namespaces; + @XmlAttribute(name = "namespace") + @Metadata(javaType = "java.util.Map") + private String namespaceRef; public XMLSecurityDataFormat() { super("xmlSecurity"); @@ -90,12 +96,13 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names this.secureTagContents = source.secureTagContents; this.keyCipherAlgorithm = source.keyCipherAlgorithm; this.recipientKeyAlias = source.recipientKeyAlias; - this.keyOrTrustStoreParametersRef = source.keyOrTrustStoreParametersRef; + this.keyOrTrustStoreParameters = source.keyOrTrustStoreParameters; this.keyPassword = source.keyPassword; this.digestAlgorithm = source.digestAlgorithm; this.mgfAlgorithm = source.mgfAlgorithm; this.addKeyValueForEncryptedKey = source.addKeyValueForEncryptedKey; - this.keyOrTrustStoreParameters = source.keyOrTrustStoreParameters; + this.keyStoreParameters = source.keyStoreParameters; + this.namespaceRef = source.namespaceRef; this.namespaces = source.namespaces != null ? new LinkedHashMap<>(source.namespaces) : null; } @@ -108,13 +115,14 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names this.secureTagContents = builder.secureTagContents; this.keyCipherAlgorithm = builder.keyCipherAlgorithm; this.recipientKeyAlias = builder.recipientKeyAlias; - this.keyOrTrustStoreParametersRef = builder.keyOrTrustStoreParametersRef; + this.keyOrTrustStoreParameters = builder.keyOrTrustStoreParameters; this.keyPassword = builder.keyPassword; this.digestAlgorithm = builder.digestAlgorithm; this.mgfAlgorithm = builder.mgfAlgorithm; this.addKeyValueForEncryptedKey = builder.addKeyValueForEncryptedKey; - this.keyOrTrustStoreParameters = builder.keyOrTrustStoreParameters; + this.keyStoreParameters = builder.keyStoreParameters; this.namespaces = builder.namespaces; + this.namespaceRef = builder.namespaceRef; } @Override @@ -230,24 +238,24 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names * Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and * loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore. */ - public void setKeyOrTrustStoreParametersRef(String id) { - this.keyOrTrustStoreParametersRef = id; + public void setKeyOrTrustStoreParameters(String id) { + this.keyOrTrustStoreParameters = id; } - public String getKeyOrTrustStoreParametersRef() { - return this.keyOrTrustStoreParametersRef; + public String getKeyOrTrustStoreParameters() { + return this.keyOrTrustStoreParameters; } - public KeyStoreParameters getKeyOrTrustStoreParameters() { - return keyOrTrustStoreParameters; + public KeyStoreParameters getKeyStoreParameters() { + return keyStoreParameters; } /** * Configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or * recipient's keyStore. */ - public void setKeyOrTrustStoreParameters(KeyStoreParameters keyOrTrustStoreParameters) { - this.keyOrTrustStoreParameters = keyOrTrustStoreParameters; + public void setKeyStoreParameters(KeyStoreParameters keyStoreParameters) { + this.keyStoreParameters = keyStoreParameters; } public String getKeyPassword() { @@ -320,6 +328,17 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names return namespaces; } + public String getNamespaceRef() { + return namespaceRef; + } + + /** + * Refers to a Map XML Namespaces of prefix -> uri mappings + */ + public void setNamespaceRef(String namespaceRef) { + this.namespaceRef = namespaceRef; + } + /** * {@code Builder} is a specific builder for {@link XMLSecurityDataFormat}. */ @@ -333,13 +352,14 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names private String secureTagContents; private String keyCipherAlgorithm; private String recipientKeyAlias; - private String keyOrTrustStoreParametersRef; + private String keyOrTrustStoreParameters; private String keyPassword; private String digestAlgorithm; private String mgfAlgorithm; private String addKeyValueForEncryptedKey; - private KeyStoreParameters keyOrTrustStoreParameters; + private KeyStoreParameters keyStoreParameters; private Map<String, String> namespaces; + private String namespaceRef; /** * The cipher algorithm to be used for encryption/decryption of the XML message content. The available choices @@ -438,8 +458,8 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names * Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating * and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore. */ - public Builder keyOrTrustStoreParametersRef(String keyOrTrustStoreParametersRef) { - this.keyOrTrustStoreParametersRef = keyOrTrustStoreParametersRef; + public Builder keyOrTrustStoreParameters(String keyOrTrustStoreParameters) { + this.keyOrTrustStoreParameters = keyOrTrustStoreParameters; return this; } @@ -447,8 +467,8 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names * Configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or * recipient's keyStore. */ - public Builder keyOrTrustStoreParameters(KeyStoreParameters keyOrTrustStoreParameters) { - this.keyOrTrustStoreParameters = keyOrTrustStoreParameters; + public Builder keyStoreParameters(KeyStoreParameters keyStoreParameters) { + this.keyStoreParameters = keyStoreParameters; return this; } @@ -517,6 +537,14 @@ public class XMLSecurityDataFormat extends DataFormatDefinition implements Names return this; } + /** + * Refers to a Map XML Namespaces of prefix -> uri mappings + */ + public Builder namespaceRef(String namespaceRef) { + this.namespaceRef = namespaceRef; + return this; + } + @Override public XMLSecurityDataFormat end() { return new XMLSecurityDataFormat(this); diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java index 340ba63fe88..2fc35dccd94 100644 --- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java +++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/XMLSecurityDataFormatReifier.java @@ -36,9 +36,8 @@ public class XMLSecurityDataFormatReifier extends DataFormatReifier<XMLSecurityD properties.put("xmlCipherAlgorithm", definition.getXmlCipherAlgorithm()); properties.put("keyCipherAlgorithm", definition.getKeyCipherAlgorithm()); properties.put("recipientKeyAlias", definition.getRecipientKeyAlias()); - properties.put("keyOrTrustStoreParameters", or(definition.getKeyOrTrustStoreParameters(), - asRef(definition.getKeyOrTrustStoreParametersRef()))); - properties.put("namespaces", definition.getNamespaces()); + properties.put("keyOrTrustStoreParameters", or(definition.getKeyStoreParameters(), asRef(definition.getKeyOrTrustStoreParameters()))); + properties.put("namespaces", or(definition.getNamespaces(), asRef(definition.getNamespaceRef()))); properties.put("keyPassword", definition.getKeyPassword()); properties.put("digestAlgorithm", definition.getDigestAlgorithm()); properties.put("mgfAlgorithm", definition.getMgfAlgorithm()); diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java index ef5d044c3fc..affa9cc5e57 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java @@ -2239,9 +2239,10 @@ public class ModelParser extends BaseParser { case "addKeyValueForEncryptedKey": def.setAddKeyValueForEncryptedKey(val); yield true; case "digestAlgorithm": def.setDigestAlgorithm(val); yield true; case "keyCipherAlgorithm": def.setKeyCipherAlgorithm(val); yield true; - case "keyOrTrustStoreParametersRef": def.setKeyOrTrustStoreParametersRef(val); yield true; + case "keyOrTrustStoreParameters": def.setKeyOrTrustStoreParameters(val); yield true; case "keyPassword": def.setKeyPassword(val); yield true; case "mgfAlgorithm": def.setMgfAlgorithm(val); yield true; + case "namespace": def.setNamespaceRef(val); yield true; case "passPhrase": def.setPassPhrase(val); yield true; case "passPhraseByte": def.setPassPhraseByte(asByteArray(val)); yield true; case "recipientKeyAlias": def.setRecipientKeyAlias(val); yield true; diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java index 56359eab2ea..d5d6af2d4e7 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java @@ -2945,11 +2945,12 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("addKeyValueForEncryptedKey", def.getAddKeyValueForEncryptedKey(), "true"); doWriteAttribute("keyCipherAlgorithm", def.getKeyCipherAlgorithm(), "RSA_OAEP"); doWriteAttribute("recipientKeyAlias", def.getRecipientKeyAlias(), null); - doWriteAttribute("keyOrTrustStoreParametersRef", def.getKeyOrTrustStoreParametersRef(), null); doWriteAttribute("digestAlgorithm", def.getDigestAlgorithm(), "SHA1"); doWriteAttribute("mgfAlgorithm", def.getMgfAlgorithm(), "MGF1_SHA1"); doWriteAttribute("secureTagContents", def.getSecureTagContents(), null); + doWriteAttribute("namespace", def.getNamespaceRef(), null); doWriteAttribute("passPhraseByte", toString(def.getPassPhraseByte()), null); + doWriteAttribute("keyOrTrustStoreParameters", def.getKeyOrTrustStoreParameters(), null); doWriteAttribute("keyPassword", def.getKeyPassword(), null); doWriteAttribute("secureTag", def.getSecureTag(), null); doWriteAttribute("xmlCipherAlgorithm", def.getXmlCipherAlgorithm(), "AES-256-GCM"); diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java index ca3fa1ecfc3..b8d269c34a3 100644 --- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java +++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java @@ -2945,11 +2945,12 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("addKeyValueForEncryptedKey", def.getAddKeyValueForEncryptedKey(), "true"); doWriteAttribute("keyCipherAlgorithm", def.getKeyCipherAlgorithm(), "RSA_OAEP"); doWriteAttribute("recipientKeyAlias", def.getRecipientKeyAlias(), null); - doWriteAttribute("keyOrTrustStoreParametersRef", def.getKeyOrTrustStoreParametersRef(), null); doWriteAttribute("digestAlgorithm", def.getDigestAlgorithm(), "SHA1"); doWriteAttribute("mgfAlgorithm", def.getMgfAlgorithm(), "MGF1_SHA1"); doWriteAttribute("secureTagContents", def.getSecureTagContents(), null); + doWriteAttribute("namespace", def.getNamespaceRef(), null); doWriteAttribute("passPhraseByte", toString(def.getPassPhraseByte()), null); + doWriteAttribute("keyOrTrustStoreParameters", def.getKeyOrTrustStoreParameters(), null); doWriteAttribute("keyPassword", def.getKeyPassword(), null); doWriteAttribute("secureTag", def.getSecureTag(), null); doWriteAttribute("xmlCipherAlgorithm", def.getXmlCipherAlgorithm(), "AES-256-GCM"); diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc index 29d14b2d852..6a50704e3a7 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc @@ -24,6 +24,7 @@ to their implementation using reflection-free configurers. A few data formats ha |soap|elementNameStrategyRef|elementNameStrategy |swiftMx|readConfigRef|readConfig |swiftMx|writeConfigRef|writeConfig +|xmlSecurity|keyOrTrustStoreParametersRef|keyOrTrustStoreParameters |=== And in XML DSL the csv dataformat have changed `header` from a `List<String>` to be a single `String` diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java index 4e383fb921c..5022a7c0bab 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java @@ -20797,9 +20797,10 @@ public final class ModelDeserializers extends YamlDeserializerSupport { @YamlProperty(name = "digestAlgorithm", type = "enum:SHA1,SHA256,SHA512", defaultValue = "SHA1", description = "The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1", displayName = "Digest Algorithm"), @YamlProperty(name = "id", type = "string", description = "The id of this node", displayName = "Id"), @YamlProperty(name = "keyCipherAlgorithm", type = "enum:RSA_v1dot5,RSA_OAEP,RSA_OAEP_11", defaultValue = "RSA_OAEP", description = "The cipher algorithm to be used for encryption/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XMLCipher.RSA_OAEP_11 The default value is XMLCipher.RSA_OAEP", displayName = "Key Cipher Algorithm"), - @YamlProperty(name = "keyOrTrustStoreParametersRef", type = "string", description = "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore.", displayName = "Key Or Trust Store Parameters Ref"), + @YamlProperty(name = "keyOrTrustStoreParameters", type = "string", description = "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore.", displayName = "Key Or Trust Store Parameters"), @YamlProperty(name = "keyPassword", type = "string", description = "The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption.", displayName = "Key Password"), @YamlProperty(name = "mgfAlgorithm", type = "enum:MGF1_SHA1,MGF1_SHA256,MGF1_SHA512", defaultValue = "MGF1_SHA1", description = "The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstants.MGF1_SHA512 The default value is EncryptionConstants.MGF1_SHA1", displayName = "Mgf Algorithm"), + @YamlProperty(name = "namespace", type = "string", description = "Refers to a Map XML Namespaces of prefix - uri mappings", displayName = "Namespace"), @YamlProperty(name = "passPhrase", type = "string", description = "A String used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key", displayName = "Pass Phrase"), @YamlProperty(name = "passPhraseByte", type = "string", format = "binary", description = "A byte used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key", displayName = "Pass Phrase Byte"), @YamlProperty(name = "recipientKeyAlias", type = "string", description = "The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption.", displayName = "Recipient Key Alias"), @@ -20843,9 +20844,9 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setKeyCipherAlgorithm(val); break; } - case "keyOrTrustStoreParametersRef": { + case "keyOrTrustStoreParameters": { String val = asText(node); - target.setKeyOrTrustStoreParametersRef(val); + target.setKeyOrTrustStoreParameters(val); break; } case "keyPassword": { @@ -20858,6 +20859,11 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setMgfAlgorithm(val); break; } + case "namespace": { + String val = asText(node); + target.setNamespaceRef(val); + break; + } case "passPhrase": { String val = asText(node); target.setPassPhrase(val); diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json index 8bc1b4987d0..71362df4ad3 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json @@ -12409,9 +12409,9 @@ "default" : "RSA_OAEP", "enum" : [ "RSA_v1dot5", "RSA_OAEP", "RSA_OAEP_11" ] }, - "keyOrTrustStoreParametersRef" : { + "keyOrTrustStoreParameters" : { "type" : "string", - "title" : "Key Or Trust Store Parameters Ref", + "title" : "Key Or Trust Store Parameters", "description" : "Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore." }, "keyPassword" : { @@ -12426,6 +12426,11 @@ "default" : "MGF1_SHA1", "enum" : [ "MGF1_SHA1", "MGF1_SHA256", "MGF1_SHA512" ] }, + "namespace" : { + "type" : "string", + "title" : "Namespace", + "description" : "Refers to a Map XML Namespaces of prefix - uri mappings" + }, "passPhrase" : { "type" : "string", "title" : "Pass Phrase",
