Like other TLS implementations, a
computer user may use Rustls without being aware of it, as an underlying part of an application or website. A programmer can use Rustls directly or by configuring a higher-level library or tool to use it. In particular, Rustls is used by some projects that want to ensure they have a secure
software supply chain. The US
Cybersecurity and Infrastructure Security Agency has recommended using products in memory safe languages as part of its "Secure by Design" initiative. Some libraries support Rustls as one of several choices for TLS implementations. The
reqwest HTTP client library offers the option to use Rustls for TLS instead of the system's default TLS library (for example, on
Windows the default is the
Security Support Provider Interface). In 2020 an ISRG software engineer enabled using Rustls as a TLS backend for
cURL.
s2n-quic, an implementation of the
QUIC network protocol in Rust, supports both Rustls and
s2n-tls for TLS. In 2021
Google funded the creation of
mod_tls, a new TLS
module for
Apache HTTP Server using Rustls. The new module is intended to be a successor to the
mod_ssl module that uses OpenSSL, as a more secure default. As of August 2024,
mod_tls is available in the latest version of Apache but still marked as experimental. The
Internet Society, a nonprofit that advocates for an open and secure
internet, suggests that organizations use this module as a step toward increasing memory safety. Rustls is the default TLS implementation in some applications. The utility program
cargo_audit, which checks Rust project dependencies for security vulnerabilities, uses Rustls.
Linkerd, which "adds security,
observability, and reliability to any
Kubernetes cluster", includes a
proxy server built with Rustls. Wolfi, a tool for making memory-safe
Linux containers, uses Rustls. In 2024, ISRG announced plans to start replacing OpenSSL with Rustls in
Let's Encrypt, their free
certificate authority used by hundreds of millions of websites. == See also ==