Skip to main content
Version: 0.2.60

What is NoxTLS?

NoxTLS is a C99 cryptography and TLS/DTLS library aimed at embedded systems, gateways, and other environments where you need strong security without dragging in a full desktop TLS stack.

You integrate a single library (or a trimmed subset via configuration) and drive I/O through your own sockets or callbacks — the same model whether you are on Linux, Zephyr, or a bare-metal RTOS with a custom network stack.

What you get​

AreaHighlights
TLSTLS 1.2 and 1.3 (1-RTT, resumption, PSK, mTLS, ALPN, record size limits)
DTLSDTLS 1.2 and 1.3 for UDP (cookies, retransmission, CID, RFC 9147 record layer)
CryptoAES, ChaCha20-Poly1305, SHA-2/SHA-3, RSA, ECC, X25519, Ed25519, and more
CertificatesX.509 parse, verify, and TLS integration
Post-quantumML-KEM, ML-DSA, SLH-DSA (optional, feature-gated)

Who it is for​

  • Firmware teams shipping HTTPS or MQTTS-style connectivity from constrained devices
  • Products that need DTLS over UDP (industrial IoT, VoIP-style control channels, custom protocols)
  • Engineers who want one codebase for host development (unit tests, OpenSSL interop) and target deployment (Zephyr, custom CMake)

How it is organized​

noxtls/
├── noxtls-lib/ Core crypto, TLS/DTLS, certs
├── applications/ Reference clients, servers, and utilities
├── ports/ Platform-specific acceleration and hooks
└── docs/ This documentation site

The Architecture page goes deeper on modules and dependencies. The Crypto API and TLS component guides are the long-form references once you are past the tutorials in this section.

Two ways to work​

  1. Host / CI — Build the library and sample apps with CMake on Linux, macOS, or Windows. Use this for fast iteration and regression tests.
  2. Embedded — Add NoxTLS as a CMake subdirectory (for example on Zephyr), tune feature flags, and wire memory, entropy, and sockets to your platform. See Port NoxTLS to Your Platform.

Next step​

If you want to see something running in minutes, continue to 5 Minute Quickstart. If you already know you need TLS on a device, jump to Build Your First TLS Client or Run DTLS on Embedded Devices.