Architecture
The workspace separates cryptographic primitives, certificate handling, transport I/O, and protocol logic into focused crates.
Dependency direction
noxtls-coreis the foundational crate and should remain dependency-light.noxtls-crypto(hash, symmetric, PKC, DRBG) depends onnoxtls-core.noxtls-pemdepends onnoxtls-core.noxtls-x509composesnoxtls-core,noxtls-crypto, andnoxtls-pem.noxtls-iodepends onnoxtls-core(transport adapters).noxtlscomposesnoxtls-core,noxtls-crypto,noxtls-x509,noxtls-io, andnoxtls-platform.noxtls-testsits at the top of the graph.
Workspace structure
Rust packages are under noxtls/crates/ (workspace members are noxtls/crates/* from the repository root):
noxtls-core/noxtls-crypto/noxtls-pem/noxtls-x509/noxtls-io/noxtls-platform/noxtls/noxtls-test/
Configuration model
noxtls-core includes a configuration layer for mbedTLS-style #define policy files:
- template:
noxtls_config.h - parser API:
LibraryConfig::from_mbedtls_style_file(...)
The model lets consumers tune features and security policy at build/config time while keeping crate boundaries clear.