Skip to main content
Version: 0.2.50

5 Minute Quickstart

This guide gets the NoxTLS library and sample applications built on a desktop host. It assumes CMake and a C compiler are already installed.

1. Clone and configure

From the noxtls repository root (the directory that contains the top-level CMakeLists.txt):

cmake -S . -B build -D BUILD_TESTS=OFF

BUILD_APPLICATIONS is ON by default, so sample programs are included in the build.

2. Build

cmake --build build --config Release

On Linux/macOS you can add -j for parallel compilation. Application binaries are written under binary/ at the repository root.

3. Run a smoke test

DTLS PSK demo (in-process, no network setup):

./binary/dtls_psk_demo
./binary/dtls_psk_demo 1.3

HTTPS client (requires network access to the target host):

./binary/https_client https://example.com/ 443 tls13

Certificate utility (uses built-in or local test material):

./binary/cert info -i path/to/cert.pem

4. Optional: enable post-quantum features

Rebuild with ML-KEM and ML-DSA if you need PQC APIs or TLS 1.3 PQ groups:

cmake -S . -B build -D BUILD_TESTS=OFF \
-D NOXTLS_CFG_FEATURE_ML_KEM=ON \
-D NOXTLS_CFG_FEATURE_ML_DSA=ON
cmake --build build --config Release

See Configuration Guide for profiles and other feature gates.

Troubleshooting

IssueWhat to try
CMake too oldRequire CMake 3.10+ (cmake --version)
MSVC link errors on appsBuild from x64 Native Tools prompt; see BUILDING.md
https_client certificate errorsUse a public HTTPS site with a well-known CA, or supply your own trust store in your integration
Missing binary/ outputConfirm BUILD_APPLICATIONS=ON and check the build log for app target names

Where to go next

GoalGuide
TLS client integrationBuild Your First TLS Client
HTTPS serverBuild Your First HTTPS Server
DTLS on UDP / embeddedRun DTLS on Embedded Devices
Certs and PKIConfigure Certificates
Zephyr or custom OSPort NoxTLS to Your Platform

For full build matrices (Linux packages, MSVC, library-only builds), see BUILDING.md and Getting Started.