Skip to content

Add mbedTLS 4.x CI coverage - #2744

Merged
Ewerton Scaboro da Silva (ewertons) merged 3 commits into
mainfrom
ewertons/mbedtls-4x-support
Aug 26, 2026
Merged

Add mbedTLS 4.x CI coverage#2744
Ewerton Scaboro da Silva (ewertons) merged 3 commits into
mainfrom
ewertons/mbedtls-4x-support

Conversation

@ewertons

@ewertons Ewerton Scaboro da Silva (ewertons) commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Adds mbedTLS 4.x support.

mbedTLS 3.6 LTS reaches end of life in March 2027. mbedTLS 4.0 moved cryptography into TF-PSA-Crypto and removed the public entropy/CTR_DRBG modules, mbedtls_ssl_conf_rng() and mbedtls_ssl_conf_min_version(), dropped the f_rng/p_rng parameters of mbedtls_pk_parse_key(), made mbedtls_pk_get_type() private, and requires psa_crypto_init() before any cryptographic operation.

Changes

  • Submodules: rolls all five azure-c-shared-utility references forward to the commit with mbedTLS 4.x adapter support. The consistency check requires them to agree, so uamqp, umqtt, deps/uhttp and provisioning_client/deps/utpm move with the direct c-utility reference — same shape as Update submodules (add support for mbedTLS 3.x) #2662, which added mbedTLS 3.x.
  • build/.vsts-ci.yml: new mbedtls_4x job (build + e2e) alongside 2.16, 2.28 and 3.x.
  • doc/configure_tls_protocol_version_and_ciphers.md: notes the mbedtls_ssl_conf_min_version -> mbedtls_ssl_conf_min_tls_version rename.

All five pointers are on master.

Validation

Submodule consistency and "not ahead of master" were checked locally for all five references before pushing. A previous run of this branch had Tests mbedTLS 4.x passing along with 2.16, 2.28 and 3.x (29 jobs succeeded, none failed).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@ewertons
Ewerton Scaboro da Silva (ewertons) force-pushed the ewertons/mbedtls-4x-support branch 2 times, most recently from 4000d25 to 9ff8e10 Compare August 23, 2026 18:06
mbedTLS 3.6 LTS goes EOL in March 2027 and mbedTLS 4.x is now the
supported line. Adds an mbedtls_4x job (build + e2e) alongside the
existing 2.16, 2.28 and 3.x jobs, and notes the
mbedtls_ssl_conf_min_version -> mbedtls_ssl_conf_min_tls_version rename
in the TLS configuration doc.

The adapter changes this job exercises live in azure-c-shared-utility;
the mbedtls_4x job stays red here until that change and the nested
c-utility references are rolled forward.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mbedTLS 3.6 LTS goes EOL in March 2027. mbedTLS 4.0 removed the public
entropy/CTR_DRBG modules, mbedtls_ssl_conf_rng() and
mbedtls_ssl_conf_min_version(), dropped the f_rng/p_rng parameters of
mbedtls_pk_parse_key(), made mbedtls_pk_get_type() private, and requires
psa_crypto_init() before any cryptographic operation.

Rolls every azure-c-shared-utility reference forward to the commit
carrying the mbedTLS 4.x adapter support, following the shape of #2662
which added mbedTLS 3.x support. The submodule consistency check requires
all five references to agree, so the four dependencies that embed
c-utility move together with the direct reference.

Also adds an mbedtls_4x CI job (build + e2e) alongside the existing 2.16,
2.28 and 3.x jobs, and notes the mbedtls_ssl_conf_min_version ->
mbedtls_ssl_conf_min_tls_version rename in the TLS configuration doc.

All submodule pointers are on master.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ewertons
Ewerton Scaboro da Silva (ewertons) marked this pull request as ready for review August 25, 2026 20:44
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds CI validation coverage for mbedTLS 4.x and updates documentation to reflect API renames introduced in mbedTLS 4.x, helping ensure the SDK continues to build and run tests as mbedTLS 3.6 approaches EOL.

Changes:

  • Add a new Azure Pipelines job (mbedtls_4x) that builds the SDK and runs E2E tests against mbedTLS 4.2.0 on Ubuntu 24.04.
  • Update TLS configuration documentation to note the mbedtls_ssl_conf_min_versionmbedtls_ssl_conf_min_tls_version rename/removal in mbedTLS 4.x.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

File Description
build/.vsts-ci.yml Adds an mbedtls_4x CI job that installs mbedTLS 4.2.0, builds, and runs E2E tests.
doc/configure_tls_protocol_version_and_ciphers.md Documents the mbedTLS 4.x API rename/removal for minimum TLS version configuration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread build/.vsts-ci.yml Outdated
Comment thread doc/configure_tls_protocol_version_and_ciphers.md Outdated
@ewertons

Copy link
Copy Markdown
Contributor Author

Tests Ubuntu 24.04 ARM64 (Cross-compile only) failed here for an unrelated reason: apt could not install the arm64 dev libs due to a Multi-Arch: same version skew (libssl3t64:arm64 ... not going to be installed). It fails before any compilation, the same job passed on another PR 12 minutes earlier, and it passes on main.

Fix: #2748. Everything else here is green, including Tests mbedTLS 4.x and 2.16/2.28/3.x (31 jobs succeeded).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ewertons
Ewerton Scaboro da Silva (ewertons) merged commit e373efe into main Aug 26, 2026
48 checks passed
@ewertons
Ewerton Scaboro da Silva (ewertons) deleted the ewertons/mbedtls-4x-support branch August 26, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants