This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch 23222-main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 79fbb38ff99242d0d294bdb125e1f6fa6c96e39c
Author: Andrea Cosentino <[email protected]>
AuthorDate: Fri Mar 20 10:48:27 2026 +0100

    CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query 
parameter to header mapping
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../apache/camel/catalog/components/coap+tcp.json  | 22 ++---
 .../org/apache/camel/catalog/components/coap.json  | 22 ++---
 .../apache/camel/catalog/components/coaps+tcp.json | 22 ++---
 .../org/apache/camel/catalog/components/coaps.json | 22 ++---
 .../component/mail/MailHeaderFilterStrategy.java   |  1 +
 .../component/dsl/CoapComponentBuilderFactory.java | 19 +++++
 .../dsl/CoapTcpComponentBuilderFactory.java        | 19 +++++
 .../dsl/CoapsComponentBuilderFactory.java          | 19 +++++
 .../dsl/CoapsTcpComponentBuilderFactory.java       | 19 +++++
 .../endpoint/dsl/CoAPEndpointBuilderFactory.java   | 96 ++++++++++++++++++++++
 10 files changed, 221 insertions(+), 40 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
index 162769ef7cc8..1d7fa1a2b9f4 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json
@@ -29,7 +29,8 @@
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
-    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
     "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
index 6506e161568a..a6de71b35037 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json
@@ -29,7 +29,8 @@
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
-    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
     "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
index bfbc4b50c7ab..ed8b17a5e47c 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json
@@ -29,7 +29,8 @@
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
-    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
     "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
index fef25a486610..b8b6383aff75 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json
@@ -29,7 +29,8 @@
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
-    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": 
"Header Filter Strategy", "group": "filter", "label": "filter", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom 
org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel 
message." }
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -49,14 +50,15 @@
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
     "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
     "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": 
"Header Filter Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use a custom HeaderFilterStrategy to 
filter header to and from Camel message." },
+    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
index 7c35a9f95e61..659cdcfbb039 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java
@@ -28,6 +28,7 @@ public class MailHeaderFilterStrategy extends 
DefaultHeaderFilterStrategy {
         setLowerCase(true);
         // filter headers begin with "Camel" or "org.apache.camel"
         setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
     }
 
 }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
index 33a6989c2182..1dba2bbc9a2a 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapComponentBuilderFactory {
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "client": ((CoAPComponent) 
component).setClient((org.eclipse.californium.core.CoapClient) value); return 
true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
index edcd2ae2f46d..11b29e601757 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapTcpComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapTcpComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapTcpComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapTcpComponentBuilderFactory {
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "client": ((CoAPComponent) 
component).setClient((org.eclipse.californium.core.CoapClient) value); return 
true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
index 507814d2fd12..230e12cb65f7 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapsComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapsComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapsComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapsComponentBuilderFactory {
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "client": ((CoAPComponent) 
component).setClient((org.eclipse.californium.core.CoapClient) value); return 
true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
index d947183a0613..3537d1965109 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java
@@ -159,6 +159,24 @@ public interface CoapsTcpComponentBuilderFactory {
             doSetProperty("autowiredEnabled", autowiredEnabled);
             return this;
         }
+    
+        /**
+         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
+         * header to and from Camel message.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
+         * type.
+         * 
+         * Group: filter
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default CoapsTcpComponentBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     class CoapsTcpComponentBuilderImpl
@@ -179,6 +197,7 @@ public interface CoapsTcpComponentBuilderFactory {
             case "lazyStartProducer": ((CoAPComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "client": ((CoAPComponent) 
component).setClient((org.eclipse.californium.core.CoapClient) value); return 
true;
             case "autowiredEnabled": ((CoAPComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "headerFilterStrategy": ((CoAPComponent) 
component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) 
value); return true;
             default: return false;
             }
         }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
index b2a8ef0d6d19..badd384b51f1 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
@@ -510,6 +510,38 @@ public interface CoAPEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointConsumerBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointConsumerBuilder 
headerFilterStrategy(String headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     /**
@@ -905,6 +937,38 @@ public interface CoAPEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointProducerBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointProducerBuilder 
headerFilterStrategy(String headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     /**
@@ -1194,6 +1258,38 @@ public interface CoAPEndpointBuilderFactory {
             return (CoAPEndpointBuilder) this;
         }
 
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointBuilder 
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
+        /**
+         * To use a custom HeaderFilterStrategy to filter header to and from
+         * Camel message.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param headerFilterStrategy the value to set
+         * @return the dsl builder
+         */
+        default AdvancedCoAPEndpointBuilder headerFilterStrategy(String 
headerFilterStrategy) {
+            doSetProperty("headerFilterStrategy", headerFilterStrategy);
+            return this;
+        }
     }
 
     public interface CoAPBuilders {

Reply via email to