Skip to main content
Version: 0.2.50

Host Computer Demo

The fastest way to explore NoxTLS is on a host computer (Linux, macOS, or Windows) using CMake and the bundled reference applications. No board or RTOS is required.

Prerequisites

  • CMake 3.10 or newer
  • C99 compiler (GCC, Clang, or MSVC)
  • Network access (only for https_client and similar samples)

See Getting Started and BUILDING.md for platform-specific toolchain notes.

Build the library and apps

From the noxtls directory (top-level CMakeLists.txt):

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

Binaries are written under binary/ at the repository root. BUILD_APPLICATIONS is ON by default.

DTLS PSK (no network)

In-process handshake exercise for DTLS 1.2 and 1.3:

./binary/dtls_psk_demo
./binary/dtls_psk_demo 1.3

Details: DTLS PSK demo.

HTTPS client (network)

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

Optional TLS version: tls12, tls13, or auto. See HTTPS client.

HTTPS server (local)

Generate a self-signed cert, then:

./binary/https_server 8443 --cert server.crt --key server.key
./binary/https_client https://127.0.0.1:8443 tls13

See Build Your First HTTPS Server.

Certificate utilities

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

Optional: unit tests on host

Enable tests when validating a port or configuration change:

cmake -S . -B build -D BUILD_TESTS=ON
cmake --build build --config Release
ctest --test-dir build

The separate UTNox harness in the repository root (utnox/) can drive on-target tests over UART/SPI; host builds use the same NoxTLS sources.

Host-only acceleration

On x86/x64 and Apple Silicon you can enable hardware AES paths for throughput experiments:

HostCMake option
x86/x64 with AES-NINOXTLS_CFG_FEATURE_AES_ACCEL_NI=ON
Apple arm64NOXTLS_CFG_FEATURE_AES_ACCEL_APPLE=ON

See Configuration Guide.

What to do next

GoalGuide
Guided tutorialsStart Here
TLS integrationTLS component
Embedded UDPESP32 or STM32