rustls is a memory-safe implementation of the Transport Layer Security protocol written in Rust. It provides a cryptographic stack for secure network communication, supporting both TLS 1.3 and 1.2 standards for client and server implementations.
The project is designed as a modular cryptographic library that allows swapping underlying cryptographic backends and primitive providers to meet specific security or performance requirements. It incorporates a post-quantum cryptography stack, utilizing hybrid key exchanges and signatures to protect data against future quantum computing threats.
The library includes capabilities for secure connection management, client authentication via digital certificates or raw public keys, and OS-delegated trust verification. It further implements latency optimizations such as zero round-trip time handshakes, certificate compression, and early data transmission.
Quality is maintained through protocol compliance validation, fuzz testing, and performance benchmarking.