TLS compatibility issues in agent updater with Checkmk 2.3 on Windows
Overview
When using the Agent Updater in Checkmk 2.3, especially on Windows hosts, you may encounter TLS-related issues that didn’t appear in earlier versions. This is due to significant changes in the underlying Python and OpenSSL versions shipped with the agent, including a stricter requirement in OpenSSL 3 for certificates to include a Subject Alternative Name (SAN). Certificates without SANs, which were previously tolerated, will now cause connection failures.
Why SAN Entries Matter
The Subject Alternative Name (SAN) is a required extension in modern TLS. It tells clients which domains, IPs, or hostnames the certificate is valid for.
Without a SAN, OpenSSL 3 will reject the certificate, even if it’s otherwise valid.
Certificates issued without SANs might still work on older clients, but they are non-compliant with modern standards and will break on newer platforms like Checkmk 2.3 Windows agents.
What Changed?
With Checkmk 2.3, the Windows agent now includes:
Python 3.12
OpenSSL 3.0.11 (updated later to 3.0.13)
By contrast, previous versions (like Checkmk 2.2) shipped with:
Python 3.10
OpenSSL 1.1.1m
This update is important because OpenSSL 3 introduced stricter security requirements, which can impact how the Agent Updater interacts with your monitoring infrastructure.
The Problem: Missing SAN Entries
OpenSSL 3 has dropped support for several deprecated protocols and configurations, one of them being certificates without Subject Alternative Name (SAN) entries.
If your monitoring site uses certificates missing these SAN fields, the Agent Updater will likely fail to connect, resulting in TLS errors. This affects Windows hosts more readily, since they’re using the stricter OpenSSL 3, while Linux agents (still using Python 3.8 with OpenSSL 1.1.1) tolerate these certificates, for now.
Example Error Symptoms
TLS handshake errors
Certificate validation failures
Agent updater not being able to reach the monitoring site
Why Linux Isn’t Affected (Yet)
On Linux, Checkmk is still shipping the agent with Python 3.8 and OpenSSL 1.1.1, which are more lenient with deprecated certificate configurations. This means the issue may not show up unless those components are updated.
However, it’s likely this will change in future versions, so it’s a good idea to future-proof your configuration now.
Solution and Workaround
To resolve or avoid these issues:
Ensure your server certificates include SAN entries.
Review your TLS configurations to meet OpenSSL 3 requirements.
We recommend checking out this blog post for more detailed guidance: How to monitor servers with broken TLS in Checkmk
Summary
Agent Version | Python | OpenSSL | Affected by missing SAN? |
---|---|---|---|
2.2 (Windows) | 3.10 | 1.1.1m | ❌ Not affected |
2.3 (Windows) | 3.12 | 3.0.11+ | ✅ Yes |
2.x (Linux) | 3.8 | 1.1.1 | ❌ Not affected (yet) |
If you're experiencing issues with agent updates on Windows in Checkmk 2.3, checking your certificate configuration is a great place to start.
Related articles