You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/02/13 12:55:42 UTC
[camel-spring-boot] branch master updated: CAMEL-14546:
camel-xmlsecurity - Split up into verify and sign endpoints
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/master by this push:
new 85591ef CAMEL-14546: camel-xmlsecurity - Split up into verify and sign endpoints
85591ef is described below
commit 85591eff52d8f8ea3236dc52a05ae3cd7deb2fbc
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Feb 13 13:36:43 2020 +0100
CAMEL-14546: camel-xmlsecurity - Split up into verify and sign endpoints
---
.../camel/springboot/catalog/components.properties | 3 +-
.../catalog/components/xmlsecurity-sign.json | 58 ++++
.../catalog/components/xmlsecurity-verify.json | 48 +++
.../springboot/catalog/components/xmlsecurity.json | 68 ----
components-starter/README.adoc | 9 +-
.../XmlSignatureComponentAutoConfiguration.java | 8 +-
.../XmlSignatureComponentConfiguration.java | 290 +----------------
... => XmlVerifierComponentAutoConfiguration.java} | 31 +-
.../XmlVerifierComponentConfiguration.java | 355 +++++++++++++++++++++
.../src/main/resources/META-INF/spring.factories | 4 +-
docs/modules/ROOT/pages/list.adoc | 9 +-
11 files changed, 501 insertions(+), 382 deletions(-)
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
index ee8361a..287b135 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
@@ -324,7 +324,8 @@ wordpress
workday
xchange
xj
-xmlsecurity
+xmlsecurity-sign
+xmlsecurity-verify
xmpp
xquery
xslt
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-sign.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-sign.json
new file mode 100644
index 0000000..c811833
--- /dev/null
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-sign.json
@@ -0,0 +1,58 @@
+{
+ "component": {
+ "kind": "component",
+ "scheme": "xmlsecurity-sign",
+ "extendsScheme": "",
+ "syntax": "xmlsecurity-sign:name",
+ "title": "XML Security Sign",
+ "description": "Used to sign exchanges using the XML signature specification.",
+ "label": "security,transformation",
+ "deprecated": false,
+ "async": false,
+ "consumerOnly": false,
+ "producerOnly": true,
+ "lenientProperties": false,
+ "javaType": "org.apache.camel.component.xmlsecurity.XmlSignatureComponent",
+ "firstVersion": "2.12.0",
+ "groupId": "org.apache.camel.springboot",
+ "artifactId": "camel-xmlsecurity-starter",
+ "version": "3.1.0-SNAPSHOT"
+ },
+ "componentProperties": {
+ "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the r [...]
+ "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+ "signerConfiguration": { "kind": "property", "displayName": "Signer Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "deprecated": false, "secret": false, "description": "To use a shared XmlSignerConfiguration configuration to use as base for configuring endpoints." }
+ },
+ "properties": {
+ "name": { "kind": "path", "displayName": "Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The name part in the URI can be chosen by the user to distinguish between different signer endpoints within the camel context." },
+ "addKeyInfoReference": { "kind": "parameter", "displayName": "Add Key Info Reference", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "In order to protect the KeyInfo element from tampering you can add a reference to [...]
+ "baseUri": { "kind": "parameter", "displayName": "Base Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI." },
+ "canonicalizationMethod": { "kind": "parameter", "displayName": "Canonicalization Method", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "javax.xml.crypto.AlgorithmMethod", "deprecated": false, "secret": false, "defaultValue": "http:\/\/www.w3.org\/TR\/2001\/REC-xml-c14n-20010315", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Canonicalization [...]
+ "clearHeaders": { "kind": "parameter", "displayName": "Clear Headers", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Determines if the XML signature specific headers be cleared after signing and verification. De [...]
+ "contentObjectId": { "kind": "parameter", "displayName": "Content Object Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Sets the content object Id attribute value. By default a UUID is generated. If you set the null value, then a new UUI [...]
+ "contentReferenceType": { "kind": "parameter", "displayName": "Content Reference Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Type of the content reference. The default value is null. This value can be overwritten by the header XmlSi [...]
+ "contentReferenceUri": { "kind": "parameter", "displayName": "Content Reference Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Reference URI for the content to be signed. Only used in the enveloped case. If the reference URI contains an [...]
+ "cryptoContextProperties": { "kind": "parameter", "displayName": "Crypto Context Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Sets the crypto context properties. See {link XMLCryptoContext#s [...]
+ "digestAlgorithm": { "kind": "parameter", "displayName": "Digest Algorithm", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Digest algorithm URI. Optional parameter. This digest algorithm is used for calculating the digest of the input messag [...]
+ "disallowDoctypeDecl": { "kind": "parameter", "displayName": "Disallow Doctype Decl", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Disallows that the incoming XML document contains DTD DOCTYPE declaration. The [...]
+ "keyAccessor": { "kind": "parameter", "displayName": "Key Accessor", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.KeyAccessor", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "For the signing process, a private key is necessary. You specify a key accessor bean whi [...]
+ "omitXmlDeclaration": { "kind": "parameter", "displayName": "Omit Xml Declaration", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Indicator whether the XML declaration in the outgoing message body should be omi [...]
+ "outputXmlEncoding": { "kind": "parameter", "displayName": "Output Xml Encoding", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "The character encoding of the resulting signed XML document. If null then the encoding of the original XML do [...]
+ "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the [...]
+ "parentLocalName": { "kind": "parameter", "displayName": "Parent Local Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Local name of the parent element to which the XML signature element will be added. Only relevant for enveloped XML si [...]
+ "parentNamespace": { "kind": "parameter", "displayName": "Parent Namespace", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Namespace of the parent element to which the XML signature element will be added." },
+ "parentXpath": { "kind": "parameter", "displayName": "Parent Xpath", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "javax.xml.crypto.dsig.spec.XPathFilterParameterSpec", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Sets the XPath to find the parent node in the enveloped case. Either you specify the parent [...]
+ "plainText": { "kind": "parameter", "displayName": "Plain Text", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Indicator whether the message body contains plain text. The default value is false, indicating that the [...]
+ "plainTextEncoding": { "kind": "parameter", "displayName": "Plain Text Encoding", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "UTF-8", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Encoding of the plain text. Only relevant if the message body is plain text (see paramet [...]
+ "prefixForXmlSignatureNamespace": { "kind": "parameter", "displayName": "Prefix For Xml Signature Namespace", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "ds", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Namespace prefix for the XML signature namespace http:\/\/www.w [...]
+ "properties": { "kind": "parameter", "displayName": "Properties", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignatureProperties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "For adding additional References and Objects to the XML signature which contain [...]
+ "schemaResourceUri": { "kind": "parameter", "displayName": "Schema Resource Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID attr [...]
+ "signatureAlgorithm": { "kind": "parameter", "displayName": "Signature Algorithm", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "http:\/\/www.w3.org\/2001\/04\/xmldsig-more#rsa-sha256", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Signature algorithm. Default value is [...]
+ "signatureId": { "kind": "parameter", "displayName": "Signature Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Sets the signature Id. If this parameter is not set (null value) then a unique ID is generated for the signature ID (default). [...]
+ "transformMethods": { "kind": "parameter", "displayName": "Transform Methods", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<javax.xml.crypto.AlgorithmMethod>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Transforms which are executed on the message body before the digest is calculated. By [...]
+ "xpathsToIdAttributes": { "kind": "parameter", "displayName": "Xpaths To Id Attributes", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<javax.xml.crypto.dsig.spec.XPathFilterParameterSpec>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "Define the elements which are signed in the detached cas [...]
+ "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+ "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
+ "uriDereferencer": { "kind": "parameter", "displayName": "Uri Dereferencer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.xml.crypto.URIDereferencer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "configuration", "description": "If you want to restrict the remote access via reference URIs, you can set an own dereferencer. [...]
+ }
+}
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-verify.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-verify.json
new file mode 100644
index 0000000..a2ba882
--- /dev/null
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity-verify.json
@@ -0,0 +1,48 @@
+{
+ "component": {
+ "kind": "component",
+ "scheme": "xmlsecurity-verify",
+ "extendsScheme": "",
+ "syntax": "xmlsecurity-verify:name",
+ "title": "XML Security Verify",
+ "description": "Used to verify exchanges using the XML signature specification.",
+ "label": "security,transformation",
+ "deprecated": false,
+ "async": false,
+ "consumerOnly": false,
+ "producerOnly": true,
+ "lenientProperties": false,
+ "javaType": "org.apache.camel.component.xmlsecurity.XmlVerifierComponent",
+ "firstVersion": "2.12.0",
+ "groupId": "org.apache.camel.springboot",
+ "artifactId": "camel-xmlsecurity-starter",
+ "version": "3.1.0-SNAPSHOT"
+ },
+ "componentProperties": {
+ "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the r [...]
+ "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+ "verifierConfiguration": { "kind": "property", "displayName": "Verifier Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "deprecated": false, "secret": false, "description": "To use a shared XmlVerifierConfiguration configuration to use as base for configuring endpoints." }
+ },
+ "properties": {
+ "name": { "kind": "path", "displayName": "Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The name part in the URI can be chosen by the user to distinguish between different verify endpoints within the camel context." },
+ "baseUri": { "kind": "parameter", "displayName": "Base Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI." },
+ "clearHeaders": { "kind": "parameter", "displayName": "Clear Headers", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Determines if the XML signature specific headers be cleared after signing and verification. [...]
+ "cryptoContextProperties": { "kind": "parameter", "displayName": "Crypto Context Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Sets the crypto context properties. See {link XMLCryptoContext [...]
+ "disallowDoctypeDecl": { "kind": "parameter", "displayName": "Disallow Doctype Decl", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Disallows that the incoming XML document contains DTD DOCTYPE declaration. Th [...]
+ "keySelector": { "kind": "parameter", "displayName": "Key Selector", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "javax.xml.crypto.KeySelector", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Provides the key for validating the XML signature." },
+ "omitXmlDeclaration": { "kind": "parameter", "displayName": "Omit Xml Declaration", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Indicator whether the XML declaration in the outgoing message body should be o [...]
+ "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the [...]
+ "outputNodeSearch": { "kind": "parameter", "displayName": "Output Node Search", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Sets the output node search value for determining the node from the XML signature document which shall be set to [...]
+ "outputNodeSearchType": { "kind": "parameter", "displayName": "Output Node Search Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Determines the search type for determining the output node which is serialize [...]
+ "outputXmlEncoding": { "kind": "parameter", "displayName": "Output Xml Encoding", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "The character encoding of the resulting signed XML document. If null then the encoding of the original XML [...]
+ "removeSignatureElements": { "kind": "parameter", "displayName": "Remove Signature Elements", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Indicator whether the XML signature elements (elements with local name S [...]
+ "schemaResourceUri": { "kind": "parameter", "displayName": "Schema Resource Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID at [...]
+ "secureValidation": { "kind": "parameter", "displayName": "Secure Validation", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Enables secure validation. If true then secure validation is enabled." },
+ "validationFailedHandler": { "kind": "parameter", "displayName": "Validation Failed Handler", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.ValidationFailedHandler", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Handles the different validation failed situation [...]
+ "xmlSignature2Message": { "kind": "parameter", "displayName": "Xml Signature2 Message", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignature2Message", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "Bean which maps the XML signature to the output-message af [...]
+ "xmlSignatureChecker": { "kind": "parameter", "displayName": "Xml Signature Checker", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignatureChecker", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "This interface allows the application to check the XML signat [...]
+ "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+ "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
+ "uriDereferencer": { "kind": "parameter", "displayName": "Uri Dereferencer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.xml.crypto.URIDereferencer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "configuration", "description": "If you want to restrict the remote access via reference URIs, you can set an own dereference [...]
+ }
+}
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity.json
deleted file mode 100644
index 3ffb2c1..0000000
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/xmlsecurity.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "component": {
- "kind": "component",
- "scheme": "xmlsecurity",
- "extendsScheme": "",
- "syntax": "xmlsecurity:command:name",
- "title": "XML Security",
- "description": "Used to sign and verify exchanges using the XML signature specification.",
- "label": "security,transformation",
- "deprecated": false,
- "async": false,
- "consumerOnly": false,
- "producerOnly": true,
- "lenientProperties": false,
- "javaType": "org.apache.camel.component.xmlsecurity.XmlSignatureComponent",
- "firstVersion": "2.12.0",
- "groupId": "org.apache.camel.springboot",
- "artifactId": "camel-xmlsecurity-starter",
- "version": "3.1.0-SNAPSHOT"
- },
- "componentProperties": {
- "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the r [...]
- "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
- "signerConfiguration": { "kind": "property", "displayName": "Signer Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "deprecated": false, "secret": false, "description": "To use a shared XmlSignerConfiguration configuration to use as base for configuring endpoints." },
- "verifierConfiguration": { "kind": "property", "displayName": "Verifier Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "deprecated": false, "secret": false, "description": "To use a shared XmlVerifierConfiguration configuration to use as base for configuring endpoints." }
- },
- "properties": {
- "command": { "kind": "path", "displayName": "Command", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.XmlCommand", "enum": [ "sign", "verify" ], "deprecated": false, "deprecationNote": "", "secret": false, "description": "Whether to sign or verify." },
- "name": { "kind": "path", "displayName": "Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "secret": false, "description": "The name part in the URI can be chosen by the user to distinguish between different signer\/verifier endpoints within the camel context." },
- "baseUri": { "kind": "parameter", "displayName": "Base Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI." },
- "clearHeaders": { "kind": "parameter", "displayName": "Clear Headers", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Determines if the XML signature specific headers be cleared after signing and verificati [...]
- "cryptoContextProperties": { "kind": "parameter", "displayName": "Crypto Context Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Sets the crypto context properties. See {link XMLCryptoCon [...]
- "disallowDoctypeDecl": { "kind": "parameter", "displayName": "Disallow Doctype Decl", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Disallows that the incoming XML document contains DTD DOCTYPE declaration [...]
- "omitXmlDeclaration": { "kind": "parameter", "displayName": "Omit Xml Declaration", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Indicator whether the XML declaration in the outgoing message body should [...]
- "outputXmlEncoding": { "kind": "parameter", "displayName": "Output Xml Encoding", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "The character encoding of the resulting signed XML document. If null then the encoding of the original [...]
- "schemaResourceUri": { "kind": "parameter", "displayName": "Schema Resource Uri", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the I [...]
- "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the [...]
- "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
- "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
- "uriDereferencer": { "kind": "parameter", "displayName": "Uri Dereferencer", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "javax.xml.crypto.URIDereferencer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "If you want to restrict the remote access via reference URIs, you can set an own derefer [...]
- "addKeyInfoReference": { "kind": "parameter", "displayName": "Add Key Info Reference", "group": "sign", "label": "sign", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "In order to protect the KeyInfo element from tampering you can add a referen [...]
- "canonicalizationMethod": { "kind": "parameter", "displayName": "Canonicalization Method", "group": "sign", "label": "sign", "required": false, "type": "object", "javaType": "javax.xml.crypto.AlgorithmMethod", "deprecated": false, "secret": false, "defaultValue": "http:\/\/www.w3.org\/TR\/2001\/REC-xml-c14n-20010315", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Canonicali [...]
- "contentObjectId": { "kind": "parameter", "displayName": "Content Object Id", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Sets the content object Id attribute value. By default a UUID is generated. If you set the null value, then a n [...]
- "contentReferenceType": { "kind": "parameter", "displayName": "Content Reference Type", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Type of the content reference. The default value is null. This value can be overwritten by the header [...]
- "contentReferenceUri": { "kind": "parameter", "displayName": "Content Reference Uri", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Reference URI for the content to be signed. Only used in the enveloped case. If the reference URI conta [...]
- "digestAlgorithm": { "kind": "parameter", "displayName": "Digest Algorithm", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Digest algorithm URI. Optional parameter. This digest algorithm is used for calculating the digest of the input [...]
- "keyAccessor": { "kind": "parameter", "displayName": "Key Accessor", "group": "sign", "label": "sign", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.KeyAccessor", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "For the signing process, a private key is necessary. You specify a key accessor be [...]
- "parentLocalName": { "kind": "parameter", "displayName": "Parent Local Name", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Local name of the parent element to which the XML signature element will be added. Only relevant for enveloped [...]
- "parentNamespace": { "kind": "parameter", "displayName": "Parent Namespace", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Namespace of the parent element to which the XML signature element will be added." },
- "parentXpath": { "kind": "parameter", "displayName": "Parent Xpath", "group": "sign", "label": "sign", "required": false, "type": "object", "javaType": "javax.xml.crypto.dsig.spec.XPathFilterParameterSpec", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Sets the XPath to find the parent node in the enveloped case. Either you specify the [...]
- "plainText": { "kind": "parameter", "displayName": "Plain Text", "group": "sign", "label": "sign", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Indicator whether the message body contains plain text. The default value is false, indicating th [...]
- "plainTextEncoding": { "kind": "parameter", "displayName": "Plain Text Encoding", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "UTF-8", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Encoding of the plain text. Only relevant if the message body is plain text (see p [...]
- "prefixForXmlSignatureNamespace": { "kind": "parameter", "displayName": "Prefix For Xml Signature Namespace", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "ds", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Namespace prefix for the XML signature namespace http:\/\ [...]
- "properties": { "kind": "parameter", "displayName": "Properties", "group": "sign", "label": "sign", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignatureProperties", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "For adding additional References and Objects to the XML signature which co [...]
- "signatureAlgorithm": { "kind": "parameter", "displayName": "Signature Algorithm", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "http:\/\/www.w3.org\/2001\/04\/xmldsig-more#rsa-sha256", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Signature algorithm. Default val [...]
- "signatureId": { "kind": "parameter", "displayName": "Signature Id", "group": "sign", "label": "sign", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Sets the signature Id. If this parameter is not set (null value) then a unique ID is generated for the signature ID (def [...]
- "transformMethods": { "kind": "parameter", "displayName": "Transform Methods", "group": "sign", "label": "sign", "required": false, "type": "array", "javaType": "java.util.List<javax.xml.crypto.AlgorithmMethod>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Transforms which are executed on the message body before the digest is calculat [...]
- "xpathsToIdAttributes": { "kind": "parameter", "displayName": "Xpaths To Id Attributes", "group": "sign", "label": "sign", "required": false, "type": "array", "javaType": "java.util.List<javax.xml.crypto.dsig.spec.XPathFilterParameterSpec>", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration", "configurationField": "signerConfiguration", "description": "Define the elements which are signed in the detach [...]
- "keySelector": { "kind": "parameter", "displayName": "Key Selector", "group": "verify", "label": "verify", "required": false, "type": "object", "javaType": "javax.xml.crypto.KeySelector", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Provides the key for validating the XML signature." },
- "outputNodeSearch": { "kind": "parameter", "displayName": "Output Node Search", "group": "verify", "label": "verify", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Sets the output node search value for determining the node from the XML signature document which shal [...]
- "outputNodeSearchType": { "kind": "parameter", "displayName": "Output Node Search Type", "group": "verify", "label": "verify", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "Default", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Determines the search type for determining the output node which [...]
- "removeSignatureElements": { "kind": "parameter", "displayName": "Remove Signature Elements", "group": "verify", "label": "verify", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Indicator whether the XML signature elements (elements with [...]
- "secureValidation": { "kind": "parameter", "displayName": "Secure Validation", "group": "verify", "label": "verify", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Enables secure validation. If true then secure validation is enabled." },
- "validationFailedHandler": { "kind": "parameter", "displayName": "Validation Failed Handler", "group": "verify", "label": "verify", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.ValidationFailedHandler", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Handles the different validation fail [...]
- "xmlSignature2Message": { "kind": "parameter", "displayName": "Xml Signature2 Message", "group": "verify", "label": "verify", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignature2Message", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "Bean which maps the XML signature to the outpu [...]
- "xmlSignatureChecker": { "kind": "parameter", "displayName": "Xml Signature Checker", "group": "verify", "label": "verify", "required": false, "type": "object", "javaType": "org.apache.camel.component.xmlsecurity.api.XmlSignatureChecker", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration", "configurationField": "verifierConfiguration", "description": "This interface allows the application to check th [...]
- }
-}
diff --git a/components-starter/README.adoc b/components-starter/README.adoc
index 6b9f67d..dcc2591 100644
--- a/components-starter/README.adoc
+++ b/components-starter/README.adoc
@@ -5,7 +5,7 @@ Apache Camel Spring Boot supports the following Camel artifacts as Spring Boot S
== Camel Components
// components: START
-Number of Camel components: 319 in 254 JAR artifacts (1 deprecated)
+Number of Camel components: 320 in 254 JAR artifacts (1 deprecated)
[width="100%",cols="4,1,5",options="header"]
|===
@@ -941,8 +941,11 @@ Number of Camel components: 319 in 254 JAR artifacts (1 deprecated)
| link:https://camel.apache.org/components/latest/xj-component.html[XJ] (camel-xj-starter) +
`xj:resourceUri` | 3.0 | Transforms json/xml message back and forth using a XSLT.
-| link:https://camel.apache.org/components/latest/xmlsecurity-component.html[XML Security] (camel-xmlsecurity-starter) +
-`xmlsecurity:command:name` | 2.12 | Used to sign and verify exchanges using the XML signature specification.
+| link:https://camel.apache.org/components/latest/xmlsecurity-sign-component.html[XML Security Sign] (camel-xmlsecurity-starter) +
+`xmlsecurity-sign:name` | 2.12 | Used to sign exchanges using the XML signature specification.
+
+| link:https://camel.apache.org/components/latest/xmlsecurity-verify-component.html[XML Security Verify] (camel-xmlsecurity-starter) +
+`xmlsecurity-verify:name` | 2.12 | Used to verify exchanges using the XML signature specification.
| link:https://camel.apache.org/components/latest/xmpp-component.html[XMPP] (camel-xmpp-starter) +
`xmpp:host:port/participant` | 1.0 | To send and receive messages from a XMPP (chat) server.
diff --git a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java
index dab0bfa..f896e76 100644
--- a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java
+++ b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java
@@ -70,12 +70,12 @@ public class XmlSignatureComponentAutoConfiguration {
static class GroupConditions extends GroupCondition {
public GroupConditions() {
- super("camel.component", "camel.component.xmlsecurity");
+ super("camel.component", "camel.component.xmlsecurity-sign");
}
}
@Lazy
- @Bean(name = "xmlsecurity-component")
+ @Bean(name = "xmlsecurity-sign-component")
@ConditionalOnMissingBean(XmlSignatureComponent.class)
public XmlSignatureComponent configureXmlSignatureComponent()
throws Exception {
@@ -111,12 +111,12 @@ public class XmlSignatureComponentAutoConfiguration {
? HierarchicalPropertiesEvaluator.evaluate(
applicationContext.getEnvironment(),
"camel.component.customizer",
- "camel.component.xmlsecurity.customizer",
+ "camel.component.xmlsecurity-sign.customizer",
((HasId) customizer).getId())
: HierarchicalPropertiesEvaluator.evaluate(
applicationContext.getEnvironment(),
"camel.component.customizer",
- "camel.component.xmlsecurity.customizer");
+ "camel.component.xmlsecurity-sign.customizer");
if (useCustomizer) {
LOGGER.debug("Configure component {}, with customizer {}",
component, customizer);
diff --git a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentConfiguration.java b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentConfiguration.java
index e8ed644..7b348cf 100644
--- a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentConfiguration.java
+++ b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentConfiguration.java
@@ -20,31 +20,27 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import javax.xml.crypto.AlgorithmMethod;
-import javax.xml.crypto.KeySelector;
import javax.xml.crypto.URIDereferencer;
import javax.xml.crypto.dsig.spec.XPathFilterParameterSpec;
import org.apache.camel.component.xmlsecurity.api.KeyAccessor;
-import org.apache.camel.component.xmlsecurity.api.ValidationFailedHandler;
-import org.apache.camel.component.xmlsecurity.api.XmlSignature2Message;
-import org.apache.camel.component.xmlsecurity.api.XmlSignatureChecker;
import org.apache.camel.component.xmlsecurity.api.XmlSignatureProperties;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
- * Used to sign and verify exchanges using the XML signature specification.
+ * Used to sign exchanges using the XML signature specification.
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.component.xmlsecurity")
+@ConfigurationProperties(prefix = "camel.component.xmlsecurity-sign")
public class XmlSignatureComponentConfiguration
extends
ComponentConfigurationPropertiesCommon {
/**
- * Whether to enable auto configuration of the xmlsecurity component. This
- * is enabled by default.
+ * Whether to enable auto configuration of the xmlsecurity-sign component.
+ * This is enabled by default.
*/
private Boolean enabled;
/**
@@ -68,11 +64,6 @@ public class XmlSignatureComponentConfiguration
* configuring endpoints.
*/
private XmlSignerConfigurationNestedConfiguration signerConfiguration;
- /**
- * To use a shared XmlVerifierConfiguration configuration to use as base for
- * configuring endpoints.
- */
- private XmlVerifierConfigurationNestedConfiguration verifierConfiguration;
public Boolean getLazyStartProducer() {
return lazyStartProducer;
@@ -99,15 +90,6 @@ public class XmlSignatureComponentConfiguration
this.signerConfiguration = signerConfiguration;
}
- public XmlVerifierConfigurationNestedConfiguration getVerifierConfiguration() {
- return verifierConfiguration;
- }
-
- public void setVerifierConfiguration(
- XmlVerifierConfigurationNestedConfiguration verifierConfiguration) {
- this.verifierConfiguration = verifierConfiguration;
- }
-
public static class XmlSignerConfigurationNestedConfiguration {
public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.xmlsecurity.processor.XmlSignerConfiguration.class;
/**
@@ -520,268 +502,4 @@ public class XmlSignatureComponentConfiguration
this.uriDereferencer = uriDereferencer;
}
}
-
- public static class XmlVerifierConfigurationNestedConfiguration {
- public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration.class;
- /**
- * Provides the key for validating the XML signature.
- */
- private KeySelector keySelector;
- /**
- * Sets the output node search value for determining the node from the
- * XML signature document which shall be set to the output message body.
- * The class of the value depends on the type of the output node search.
- * The output node search is forwarded to XmlSignature2Message.
- */
- private Object outputNodeSearch;
- /**
- * Determines the search type for determining the output node which is
- * serialized into the output message bodyF. See
- * setOutputNodeSearch(Object). The supported default search types you
- * can find in DefaultXmlSignature2Message.
- */
- private String outputNodeSearchType = "Default";
- /**
- * Indicator whether the XML signature elements (elements with local
- * name Signature and namesapce http://www.w3.org/2000/09/xmldsig#)
- * shall be removed from the document set to the output message.
- * Normally, this is only necessary, if the XML signature is enveloped.
- * The default value is Boolean#FALSE. This parameter is forwarded to
- * XmlSignature2Message. This indicator has no effect if the output node
- * search is of type
- * DefaultXmlSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F
- */
- private Boolean removeSignatureElements = false;
- /**
- * Enables secure validation. If true then secure validation is enabled.
- */
- private Boolean secureValidation = true;
- /**
- * Handles the different validation failed situations. The default
- * implementation throws specific exceptions for the different
- * situations (All exceptions have the package name
- * org.apache.camel.component.xmlsecurity.api and are a sub-class of
- * XmlSignatureInvalidException. If the signature value validation
- * fails, a XmlSignatureInvalidValueException is thrown. If a reference
- * validation fails, a XmlSignatureInvalidContentHashException is
- * thrown. For more detailed information, see the JavaDoc.
- */
- private ValidationFailedHandler validationFailedHandler;
- /**
- * Bean which maps the XML signature to the output-message after the
- * validation. How this mapping should be done can be configured by the
- * options outputNodeSearchType, outputNodeSearch, and
- * removeSignatureElements. The default implementation offers three
- * possibilities which are related to the three output node search types
- * Default, ElementName, and XPath. The default implementation
- * determines a node which is then serialized and set to the body of the
- * output message If the search type is ElementName then the output node
- * (which must be in this case an element) is determined by the local
- * name and namespace defined in the search value (see option
- * outputNodeSearch). If the search type is XPath then the output node
- * is determined by the XPath specified in the search value (in this
- * case the output node can be of type Element, TextNode or Document).
- * If the output node search type is Default then the following rules
- * apply: In the enveloped XML signature case (there is a reference with
- * URI= and transform
- * http://www.w3.org/2000/09/xmldsig#enveloped-signature), the incoming
- * XML document without the Signature element is set to the output
- * message body. In the non-enveloped XML signature case, the message
- * body is determined from a referenced Object; this is explained in
- * more detail in chapter Output Node Determination in Enveloping XML
- * Signature Case.
- */
- private XmlSignature2Message xmlSignature2Message;
- /**
- * This interface allows the application to check the XML signature
- * before the validation is executed. This step is recommended in
- * http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed
- */
- private XmlSignatureChecker xmlSignatureChecker;
- /**
- * You can set a base URI which is used in the URI dereferencing.
- * Relative URIs are then concatenated with the base URI.
- */
- private String baseUri;
- /**
- * Determines if the XML signature specific headers be cleared after
- * signing and verification. Defaults to true.
- */
- private Boolean clearHeaders = true;
- /**
- * Sets the crypto context properties. See {link
- * XMLCryptoContext#setProperty(String, Object)}. Possible properties
- * are defined in XMLSignContext an XMLValidateContext (see Supported
- * Properties). The following properties are set by default to the value
- * Boolean#TRUE for the XML validation. If you want to switch these
- * features off you must set the property value to Boolean#FALSE.
- * org.jcp.xml.dsig.validateManifests
- * javax.xml.crypto.dsig.cacheReference
- */
- private Map cryptoContextProperties;
- /**
- * Disallows that the incoming XML document contains DTD DOCTYPE
- * declaration. The default value is Boolean#TRUE.
- */
- private Boolean disallowDoctypeDecl = true;
- /**
- * Indicator whether the XML declaration in the outgoing message body
- * should be omitted. Default value is false. Can be overwritten by the
- * header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.
- */
- private Boolean omitXmlDeclaration = false;
- /**
- * The character encoding of the resulting signed XML document. If null
- * then the encoding of the original XML document is used.
- */
- private String outputXmlEncoding;
- /**
- * Classpath to the XML Schema. Must be specified in the detached XML
- * Signature case for determining the ID attributes, might be set in the
- * enveloped and enveloping case. If set, then the XML document is
- * validated with the specified XML schema. The schema resource URI can
- * be overwritten by the header
- * XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.
- */
- private String schemaResourceUri;
- /**
- * If you want to restrict the remote access via reference URIs, you can
- * set an own dereferencer. Optional parameter. If not set the provider
- * default dereferencer is used which can resolve URI fragments, HTTP,
- * file and XPpointer URIs. Attention: The implementation is provider
- * dependent!
- */
- private URIDereferencer uriDereferencer;
-
- public KeySelector getKeySelector() {
- return keySelector;
- }
-
- public void setKeySelector(KeySelector keySelector) {
- this.keySelector = keySelector;
- }
-
- public Object getOutputNodeSearch() {
- return outputNodeSearch;
- }
-
- public void setOutputNodeSearch(Object outputNodeSearch) {
- this.outputNodeSearch = outputNodeSearch;
- }
-
- public String getOutputNodeSearchType() {
- return outputNodeSearchType;
- }
-
- public void setOutputNodeSearchType(String outputNodeSearchType) {
- this.outputNodeSearchType = outputNodeSearchType;
- }
-
- public Boolean getRemoveSignatureElements() {
- return removeSignatureElements;
- }
-
- public void setRemoveSignatureElements(Boolean removeSignatureElements) {
- this.removeSignatureElements = removeSignatureElements;
- }
-
- public Boolean getSecureValidation() {
- return secureValidation;
- }
-
- public void setSecureValidation(Boolean secureValidation) {
- this.secureValidation = secureValidation;
- }
-
- public ValidationFailedHandler getValidationFailedHandler() {
- return validationFailedHandler;
- }
-
- public void setValidationFailedHandler(
- ValidationFailedHandler validationFailedHandler) {
- this.validationFailedHandler = validationFailedHandler;
- }
-
- public XmlSignature2Message getXmlSignature2Message() {
- return xmlSignature2Message;
- }
-
- public void setXmlSignature2Message(
- XmlSignature2Message xmlSignature2Message) {
- this.xmlSignature2Message = xmlSignature2Message;
- }
-
- public XmlSignatureChecker getXmlSignatureChecker() {
- return xmlSignatureChecker;
- }
-
- public void setXmlSignatureChecker(
- XmlSignatureChecker xmlSignatureChecker) {
- this.xmlSignatureChecker = xmlSignatureChecker;
- }
-
- public String getBaseUri() {
- return baseUri;
- }
-
- public void setBaseUri(String baseUri) {
- this.baseUri = baseUri;
- }
-
- public Boolean getClearHeaders() {
- return clearHeaders;
- }
-
- public void setClearHeaders(Boolean clearHeaders) {
- this.clearHeaders = clearHeaders;
- }
-
- public Map getCryptoContextProperties() {
- return cryptoContextProperties;
- }
-
- public void setCryptoContextProperties(Map cryptoContextProperties) {
- this.cryptoContextProperties = cryptoContextProperties;
- }
-
- public Boolean getDisallowDoctypeDecl() {
- return disallowDoctypeDecl;
- }
-
- public void setDisallowDoctypeDecl(Boolean disallowDoctypeDecl) {
- this.disallowDoctypeDecl = disallowDoctypeDecl;
- }
-
- public Boolean getOmitXmlDeclaration() {
- return omitXmlDeclaration;
- }
-
- public void setOmitXmlDeclaration(Boolean omitXmlDeclaration) {
- this.omitXmlDeclaration = omitXmlDeclaration;
- }
-
- public String getOutputXmlEncoding() {
- return outputXmlEncoding;
- }
-
- public void setOutputXmlEncoding(String outputXmlEncoding) {
- this.outputXmlEncoding = outputXmlEncoding;
- }
-
- public String getSchemaResourceUri() {
- return schemaResourceUri;
- }
-
- public void setSchemaResourceUri(String schemaResourceUri) {
- this.schemaResourceUri = schemaResourceUri;
- }
-
- public URIDereferencer getUriDereferencer() {
- return uriDereferencer;
- }
-
- public void setUriDereferencer(URIDereferencer uriDereferencer) {
- this.uriDereferencer = uriDereferencer;
- }
- }
}
\ No newline at end of file
diff --git a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentAutoConfiguration.java
similarity index 84%
copy from components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java
copy to components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentAutoConfiguration.java
index dab0bfa..bf38f72 100644
--- a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignatureComponentAutoConfiguration.java
+++ b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentAutoConfiguration.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import org.apache.camel.CamelContext;
-import org.apache.camel.component.xmlsecurity.XmlSignatureComponent;
+import org.apache.camel.component.xmlsecurity.XmlVerifierComponent;
import org.apache.camel.spi.ComponentCustomizer;
import org.apache.camel.spi.HasId;
import org.apache.camel.spring.boot.CamelAutoConfiguration;
@@ -51,35 +51,34 @@ import org.springframework.context.annotation.Lazy;
@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
@Configuration(proxyBeanMethods = false)
@Conditional({ConditionalOnCamelContextAndAutoConfigurationBeans.class,
- XmlSignatureComponentAutoConfiguration.GroupConditions.class})
+ XmlVerifierComponentAutoConfiguration.GroupConditions.class})
@AutoConfigureAfter(CamelAutoConfiguration.class)
@EnableConfigurationProperties({ComponentConfigurationProperties.class,
- XmlSignatureComponentConfiguration.class})
-public class XmlSignatureComponentAutoConfiguration {
+ XmlVerifierComponentConfiguration.class})
+public class XmlVerifierComponentAutoConfiguration {
private static final Logger LOGGER = LoggerFactory
- .getLogger(XmlSignatureComponentAutoConfiguration.class);
+ .getLogger(XmlVerifierComponentAutoConfiguration.class);
@Autowired
private ApplicationContext applicationContext;
@Autowired
private CamelContext camelContext;
@Autowired
- private XmlSignatureComponentConfiguration configuration;
+ private XmlVerifierComponentConfiguration configuration;
@Autowired(required = false)
- private List<ComponentCustomizer<XmlSignatureComponent>> customizers;
+ private List<ComponentCustomizer<XmlVerifierComponent>> customizers;
static class GroupConditions extends GroupCondition {
public GroupConditions() {
- super("camel.component", "camel.component.xmlsecurity");
+ super("camel.component", "camel.component.xmlsecurity-verify");
}
}
@Lazy
- @Bean(name = "xmlsecurity-component")
- @ConditionalOnMissingBean(XmlSignatureComponent.class)
- public XmlSignatureComponent configureXmlSignatureComponent()
- throws Exception {
- XmlSignatureComponent component = new XmlSignatureComponent();
+ @Bean(name = "xmlsecurity-verify-component")
+ @ConditionalOnMissingBean(XmlVerifierComponent.class)
+ public XmlVerifierComponent configureXmlVerifierComponent() throws Exception {
+ XmlVerifierComponent component = new XmlVerifierComponent();
component.setCamelContext(camelContext);
Map<String, Object> parameters = new HashMap<>();
IntrospectionSupport.getProperties(configuration, parameters, null,
@@ -106,17 +105,17 @@ public class XmlSignatureComponentAutoConfiguration {
CamelPropertiesHelper.setCamelProperties(camelContext, component,
parameters, false);
if (ObjectHelper.isNotEmpty(customizers)) {
- for (ComponentCustomizer<XmlSignatureComponent> customizer : customizers) {
+ for (ComponentCustomizer<XmlVerifierComponent> customizer : customizers) {
boolean useCustomizer = (customizer instanceof HasId)
? HierarchicalPropertiesEvaluator.evaluate(
applicationContext.getEnvironment(),
"camel.component.customizer",
- "camel.component.xmlsecurity.customizer",
+ "camel.component.xmlsecurity-verify.customizer",
((HasId) customizer).getId())
: HierarchicalPropertiesEvaluator.evaluate(
applicationContext.getEnvironment(),
"camel.component.customizer",
- "camel.component.xmlsecurity.customizer");
+ "camel.component.xmlsecurity-verify.customizer");
if (useCustomizer) {
LOGGER.debug("Configure component {}, with customizer {}",
component, customizer);
diff --git a/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentConfiguration.java b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentConfiguration.java
new file mode 100644
index 0000000..abaeb70
--- /dev/null
+++ b/components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentConfiguration.java
@@ -0,0 +1,355 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.xmlsecurity.springboot;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import javax.xml.crypto.KeySelector;
+import javax.xml.crypto.URIDereferencer;
+import org.apache.camel.component.xmlsecurity.api.ValidationFailedHandler;
+import org.apache.camel.component.xmlsecurity.api.XmlSignature2Message;
+import org.apache.camel.component.xmlsecurity.api.XmlSignatureChecker;
+import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Used to verify exchanges using the XML signature specification.
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = "camel.component.xmlsecurity-verify")
+public class XmlVerifierComponentConfiguration
+ extends
+ ComponentConfigurationPropertiesCommon {
+
+ /**
+ * Whether to enable auto configuration of the xmlsecurity-verify component.
+ * This is enabled by default.
+ */
+ private Boolean enabled;
+ /**
+ * 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 during starting
+ * and cause the route to fail being started. By deferring this startup to
+ * be lazy then the startup failure can be handled during routing messages
+ * via Camel's routing error handlers. Beware that when the first message is
+ * processed then creating and starting the producer may take a little time
+ * and prolong the total processing time of the processing.
+ */
+ private Boolean lazyStartProducer = false;
+ /**
+ * Whether the component should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities
+ */
+ private Boolean basicPropertyBinding = false;
+ /**
+ * To use a shared XmlVerifierConfiguration configuration to use as base for
+ * configuring endpoints.
+ */
+ private XmlVerifierConfigurationNestedConfiguration verifierConfiguration;
+
+ public Boolean getLazyStartProducer() {
+ return lazyStartProducer;
+ }
+
+ public void setLazyStartProducer(Boolean lazyStartProducer) {
+ this.lazyStartProducer = lazyStartProducer;
+ }
+
+ public Boolean getBasicPropertyBinding() {
+ return basicPropertyBinding;
+ }
+
+ public void setBasicPropertyBinding(Boolean basicPropertyBinding) {
+ this.basicPropertyBinding = basicPropertyBinding;
+ }
+
+ public XmlVerifierConfigurationNestedConfiguration getVerifierConfiguration() {
+ return verifierConfiguration;
+ }
+
+ public void setVerifierConfiguration(
+ XmlVerifierConfigurationNestedConfiguration verifierConfiguration) {
+ this.verifierConfiguration = verifierConfiguration;
+ }
+
+ public static class XmlVerifierConfigurationNestedConfiguration {
+ public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.xmlsecurity.processor.XmlVerifierConfiguration.class;
+ /**
+ * Provides the key for validating the XML signature.
+ */
+ private KeySelector keySelector;
+ /**
+ * Sets the output node search value for determining the node from the
+ * XML signature document which shall be set to the output message body.
+ * The class of the value depends on the type of the output node search.
+ * The output node search is forwarded to XmlSignature2Message.
+ */
+ private Object outputNodeSearch;
+ /**
+ * Determines the search type for determining the output node which is
+ * serialized into the output message bodyF. See
+ * setOutputNodeSearch(Object). The supported default search types you
+ * can find in DefaultXmlSignature2Message.
+ */
+ private String outputNodeSearchType = "Default";
+ /**
+ * Indicator whether the XML signature elements (elements with local
+ * name Signature and namesapce http://www.w3.org/2000/09/xmldsig#)
+ * shall be removed from the document set to the output message.
+ * Normally, this is only necessary, if the XML signature is enveloped.
+ * The default value is Boolean#FALSE. This parameter is forwarded to
+ * XmlSignature2Message. This indicator has no effect if the output node
+ * search is of type
+ * DefaultXmlSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F
+ */
+ private Boolean removeSignatureElements = false;
+ /**
+ * Enables secure validation. If true then secure validation is enabled.
+ */
+ private Boolean secureValidation = true;
+ /**
+ * Handles the different validation failed situations. The default
+ * implementation throws specific exceptions for the different
+ * situations (All exceptions have the package name
+ * org.apache.camel.component.xmlsecurity.api and are a sub-class of
+ * XmlSignatureInvalidException. If the signature value validation
+ * fails, a XmlSignatureInvalidValueException is thrown. If a reference
+ * validation fails, a XmlSignatureInvalidContentHashException is
+ * thrown. For more detailed information, see the JavaDoc.
+ */
+ private ValidationFailedHandler validationFailedHandler;
+ /**
+ * Bean which maps the XML signature to the output-message after the
+ * validation. How this mapping should be done can be configured by the
+ * options outputNodeSearchType, outputNodeSearch, and
+ * removeSignatureElements. The default implementation offers three
+ * possibilities which are related to the three output node search types
+ * Default, ElementName, and XPath. The default implementation
+ * determines a node which is then serialized and set to the body of the
+ * output message If the search type is ElementName then the output node
+ * (which must be in this case an element) is determined by the local
+ * name and namespace defined in the search value (see option
+ * outputNodeSearch). If the search type is XPath then the output node
+ * is determined by the XPath specified in the search value (in this
+ * case the output node can be of type Element, TextNode or Document).
+ * If the output node search type is Default then the following rules
+ * apply: In the enveloped XML signature case (there is a reference with
+ * URI= and transform
+ * http://www.w3.org/2000/09/xmldsig#enveloped-signature), the incoming
+ * XML document without the Signature element is set to the output
+ * message body. In the non-enveloped XML signature case, the message
+ * body is determined from a referenced Object; this is explained in
+ * more detail in chapter Output Node Determination in Enveloping XML
+ * Signature Case.
+ */
+ private XmlSignature2Message xmlSignature2Message;
+ /**
+ * This interface allows the application to check the XML signature
+ * before the validation is executed. This step is recommended in
+ * http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed
+ */
+ private XmlSignatureChecker xmlSignatureChecker;
+ /**
+ * You can set a base URI which is used in the URI dereferencing.
+ * Relative URIs are then concatenated with the base URI.
+ */
+ private String baseUri;
+ /**
+ * Determines if the XML signature specific headers be cleared after
+ * signing and verification. Defaults to true.
+ */
+ private Boolean clearHeaders = true;
+ /**
+ * Sets the crypto context properties. See {link
+ * XMLCryptoContext#setProperty(String, Object)}. Possible properties
+ * are defined in XMLSignContext an XMLValidateContext (see Supported
+ * Properties). The following properties are set by default to the value
+ * Boolean#TRUE for the XML validation. If you want to switch these
+ * features off you must set the property value to Boolean#FALSE.
+ * org.jcp.xml.dsig.validateManifests
+ * javax.xml.crypto.dsig.cacheReference
+ */
+ private Map cryptoContextProperties;
+ /**
+ * Disallows that the incoming XML document contains DTD DOCTYPE
+ * declaration. The default value is Boolean#TRUE.
+ */
+ private Boolean disallowDoctypeDecl = true;
+ /**
+ * Indicator whether the XML declaration in the outgoing message body
+ * should be omitted. Default value is false. Can be overwritten by the
+ * header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.
+ */
+ private Boolean omitXmlDeclaration = false;
+ /**
+ * The character encoding of the resulting signed XML document. If null
+ * then the encoding of the original XML document is used.
+ */
+ private String outputXmlEncoding;
+ /**
+ * Classpath to the XML Schema. Must be specified in the detached XML
+ * Signature case for determining the ID attributes, might be set in the
+ * enveloped and enveloping case. If set, then the XML document is
+ * validated with the specified XML schema. The schema resource URI can
+ * be overwritten by the header
+ * XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.
+ */
+ private String schemaResourceUri;
+ /**
+ * If you want to restrict the remote access via reference URIs, you can
+ * set an own dereferencer. Optional parameter. If not set the provider
+ * default dereferencer is used which can resolve URI fragments, HTTP,
+ * file and XPpointer URIs. Attention: The implementation is provider
+ * dependent!
+ */
+ private URIDereferencer uriDereferencer;
+
+ public KeySelector getKeySelector() {
+ return keySelector;
+ }
+
+ public void setKeySelector(KeySelector keySelector) {
+ this.keySelector = keySelector;
+ }
+
+ public Object getOutputNodeSearch() {
+ return outputNodeSearch;
+ }
+
+ public void setOutputNodeSearch(Object outputNodeSearch) {
+ this.outputNodeSearch = outputNodeSearch;
+ }
+
+ public String getOutputNodeSearchType() {
+ return outputNodeSearchType;
+ }
+
+ public void setOutputNodeSearchType(String outputNodeSearchType) {
+ this.outputNodeSearchType = outputNodeSearchType;
+ }
+
+ public Boolean getRemoveSignatureElements() {
+ return removeSignatureElements;
+ }
+
+ public void setRemoveSignatureElements(Boolean removeSignatureElements) {
+ this.removeSignatureElements = removeSignatureElements;
+ }
+
+ public Boolean getSecureValidation() {
+ return secureValidation;
+ }
+
+ public void setSecureValidation(Boolean secureValidation) {
+ this.secureValidation = secureValidation;
+ }
+
+ public ValidationFailedHandler getValidationFailedHandler() {
+ return validationFailedHandler;
+ }
+
+ public void setValidationFailedHandler(
+ ValidationFailedHandler validationFailedHandler) {
+ this.validationFailedHandler = validationFailedHandler;
+ }
+
+ public XmlSignature2Message getXmlSignature2Message() {
+ return xmlSignature2Message;
+ }
+
+ public void setXmlSignature2Message(
+ XmlSignature2Message xmlSignature2Message) {
+ this.xmlSignature2Message = xmlSignature2Message;
+ }
+
+ public XmlSignatureChecker getXmlSignatureChecker() {
+ return xmlSignatureChecker;
+ }
+
+ public void setXmlSignatureChecker(
+ XmlSignatureChecker xmlSignatureChecker) {
+ this.xmlSignatureChecker = xmlSignatureChecker;
+ }
+
+ public String getBaseUri() {
+ return baseUri;
+ }
+
+ public void setBaseUri(String baseUri) {
+ this.baseUri = baseUri;
+ }
+
+ public Boolean getClearHeaders() {
+ return clearHeaders;
+ }
+
+ public void setClearHeaders(Boolean clearHeaders) {
+ this.clearHeaders = clearHeaders;
+ }
+
+ public Map getCryptoContextProperties() {
+ return cryptoContextProperties;
+ }
+
+ public void setCryptoContextProperties(Map cryptoContextProperties) {
+ this.cryptoContextProperties = cryptoContextProperties;
+ }
+
+ public Boolean getDisallowDoctypeDecl() {
+ return disallowDoctypeDecl;
+ }
+
+ public void setDisallowDoctypeDecl(Boolean disallowDoctypeDecl) {
+ this.disallowDoctypeDecl = disallowDoctypeDecl;
+ }
+
+ public Boolean getOmitXmlDeclaration() {
+ return omitXmlDeclaration;
+ }
+
+ public void setOmitXmlDeclaration(Boolean omitXmlDeclaration) {
+ this.omitXmlDeclaration = omitXmlDeclaration;
+ }
+
+ public String getOutputXmlEncoding() {
+ return outputXmlEncoding;
+ }
+
+ public void setOutputXmlEncoding(String outputXmlEncoding) {
+ this.outputXmlEncoding = outputXmlEncoding;
+ }
+
+ public String getSchemaResourceUri() {
+ return schemaResourceUri;
+ }
+
+ public void setSchemaResourceUri(String schemaResourceUri) {
+ this.schemaResourceUri = schemaResourceUri;
+ }
+
+ public URIDereferencer getUriDereferencer() {
+ return uriDereferencer;
+ }
+
+ public void setUriDereferencer(URIDereferencer uriDereferencer) {
+ this.uriDereferencer = uriDereferencer;
+ }
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-xmlsecurity-starter/src/main/resources/META-INF/spring.factories b/components-starter/camel-xmlsecurity-starter/src/main/resources/META-INF/spring.factories
index df3988e..c989ea7 100644
--- a/components-starter/camel-xmlsecurity-starter/src/main/resources/META-INF/spring.factories
+++ b/components-starter/camel-xmlsecurity-starter/src/main/resources/META-INF/spring.factories
@@ -16,5 +16,7 @@
## ---------------------------------------------------------------------------
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.apache.camel.dataformat.xmlsecurity.springboot.XMLSecurityDataFormatAutoConfiguration,\
-org.apache.camel.component.xmlsecurity.springboot.XmlSignatureComponentAutoConfiguration
+org.apache.camel.component.xmlsecurity.springboot.XmlSignatureComponentAutoConfiguration,\
+org.apache.camel.component.xmlsecurity.springboot.XmlVerifierComponentAutoConfiguration
+
diff --git a/docs/modules/ROOT/pages/list.adoc b/docs/modules/ROOT/pages/list.adoc
index 6b9f67d..dcc2591 100644
--- a/docs/modules/ROOT/pages/list.adoc
+++ b/docs/modules/ROOT/pages/list.adoc
@@ -5,7 +5,7 @@ Apache Camel Spring Boot supports the following Camel artifacts as Spring Boot S
== Camel Components
// components: START
-Number of Camel components: 319 in 254 JAR artifacts (1 deprecated)
+Number of Camel components: 320 in 254 JAR artifacts (1 deprecated)
[width="100%",cols="4,1,5",options="header"]
|===
@@ -941,8 +941,11 @@ Number of Camel components: 319 in 254 JAR artifacts (1 deprecated)
| link:https://camel.apache.org/components/latest/xj-component.html[XJ] (camel-xj-starter) +
`xj:resourceUri` | 3.0 | Transforms json/xml message back and forth using a XSLT.
-| link:https://camel.apache.org/components/latest/xmlsecurity-component.html[XML Security] (camel-xmlsecurity-starter) +
-`xmlsecurity:command:name` | 2.12 | Used to sign and verify exchanges using the XML signature specification.
+| link:https://camel.apache.org/components/latest/xmlsecurity-sign-component.html[XML Security Sign] (camel-xmlsecurity-starter) +
+`xmlsecurity-sign:name` | 2.12 | Used to sign exchanges using the XML signature specification.
+
+| link:https://camel.apache.org/components/latest/xmlsecurity-verify-component.html[XML Security Verify] (camel-xmlsecurity-starter) +
+`xmlsecurity-verify:name` | 2.12 | Used to verify exchanges using the XML signature specification.
| link:https://camel.apache.org/components/latest/xmpp-component.html[XMPP] (camel-xmpp-starter) +
`xmpp:host:port/participant` | 1.0 | To send and receive messages from a XMPP (chat) server.