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

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


The following commit(s) were added to refs/heads/main by this push:
     new aff56976b420 CAMEL-25645: camel-milo - upgrade guide notes for 4.22.3 
and 4.18.6 (#28055)
aff56976b420 is described below

commit aff56976b420b5d528f48bfe4ecfaf44723eb8d2
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Oct 19 11:20:09 2026 +0200

    CAMEL-25645: camel-milo - upgrade guide notes for 4.22.3 and 4.18.6 (#28055)
    
    The OPC UA client validates the server certificate on the camel-4.22.x and
    camel-4.18.x branches too. The 4.22.2 release was already cut when the
    change was backported, so its note goes into the section for 4.22.3.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../ROOT/pages/camel-4x-upgrade-guide-4_18.adoc    | 25 ++++++++++++++++++++++
 .../ROOT/pages/camel-4x-upgrade-guide-4_22.adoc    | 25 ++++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
index 8c3dc42817e1..985efec21118 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
@@ -204,6 +204,31 @@ java.io.IOException: No subject alternative names matching 
IP address 127.0.0.1
     Caused by: javax.net.ssl.SSLHandshakeException: No subject alternative 
names matching IP address 127.0.0.1 found
 ----
 
+=== camel-milo - the OPC UA client validates the server certificate
+
+When the endpoint it selects uses a security policy other than `None`, the 
`milo-client` and `milo-browse` components
+now validate the certificate of the OPC UA server. Before, any server 
certificate was accepted, and no option allowed
+to validate it.
+
+Configure the trusted certificates with the new `trustListDirectory` option: 
put the certificate of the server, or of
+the CA that issued it, in the `trusted/certs` directory of the trust list. A 
server certificate that does not chain up
+to a trusted certificate is written to `rejected/certs`, from where it can be 
moved to `trusted/certs` once it has been
+checked. The trust list also refuses a server certificate outside its validity 
period, revoked by a revocation list of
+the trust list, or whose application URI differs from the one of the server. A 
server certificate issued by a CA is
+refused with `Bad_CertificateRevocationUnknown` when the trust list holds no 
revocation list of that CA: add the CRL of
+the CA (an empty one is enough) to `trusted/crl` or `issuer/crl`. A custom 
validator can be configured with the new
+`certificateValidator` option instead.
+
+With neither option, the client does not connect to such an endpoint. It logs 
a `WARN` message
+`Failed to connect: The certificate of the OPC UA server cannot be validated`, 
followed by the endpoint and its
+security policy, and tries again every 10 seconds. A producer fails with 
`IllegalStateException: No connected`, caused
+by the same message. A server certificate refused by the trust list or by a 
`certificateValidator` is logged at `WARN`
+as `Failed to connect, because a certificate or security check failed`. To 
restore the previous behaviour, set the new
+`trustAllCertificates` option to `true`. This is insecure: the client then 
does not authenticate the server.
+
+The certificate that the user name and password are encrypted with is checked 
by the same validator. Endpoints that
+use the security policy `None` are not affected.
+
 === camel-pqc - a configured KeyGenerator is used by one exchange at a time
 
 When Camel creates the instance itself, the KEM operations of the `pqc` 
component and the PQC data format now use a
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
index df13ee119eb9..7e4e77ef8e97 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
@@ -13,6 +13,31 @@ See the xref:camel-upgrade-recipes-tool.adoc[documentation] 
page for details.
 
 == Upgrading from 4.22.2 to 4.22.3
 
+=== camel-milo - the OPC UA client validates the server certificate
+
+When the endpoint it selects uses a security policy other than `None`, the 
`milo-client` and `milo-browse` components
+now validate the certificate of the OPC UA server. Before, any server 
certificate was accepted, and no option allowed
+to validate it.
+
+Configure the trusted certificates with the new `trustListDirectory` option: 
put the certificate of the server, or of
+the CA that issued it, in the `trusted/certs` directory of the trust list. A 
server certificate that does not chain up
+to a trusted certificate is written to `rejected/certs`, from where it can be 
moved to `trusted/certs` once it has been
+checked. The trust list also refuses a server certificate outside its validity 
period, revoked by a revocation list of
+the trust list, or whose application URI differs from the one of the server. A 
server certificate issued by a CA is
+refused with `Bad_CertificateRevocationUnknown` when the trust list holds no 
revocation list of that CA: add the CRL of
+the CA (an empty one is enough) to `trusted/crl` or `issuer/crl`. A custom 
validator can be configured with the new
+`certificateValidator` option instead.
+
+With neither option, the client does not connect to such an endpoint. It logs 
a `WARN` message
+`Failed to connect: The certificate of the OPC UA server cannot be validated`, 
followed by the endpoint and its
+security policy, and tries again every 10 seconds. A producer fails with 
`IllegalStateException: No connected`, caused
+by the same message. A server certificate refused by the trust list or by a 
`certificateValidator` is logged at `WARN`
+as `Failed to connect, because a certificate or security check failed`. To 
restore the previous behaviour, set the new
+`trustAllCertificates` option to `true`. This is insecure: the client then 
does not authenticate the server.
+
+The certificate that the user name and password are encrypted with is checked 
by the same validator. Endpoints that
+use the security policy `None` are not affected.
+
 === camel-elasticsearch - the credentials are only sent to the nodes of the 
cluster
 
 The `user` and `password` are now offered only to the nodes the client talks 
to: the hosts of `hostAddresses` and,

Reply via email to