rustls/rustls

Public

A modern TLS library in Rust

  • Stars7.7k+19 tuần này
  • Forks930
  • Watchers83
  • Issues71
  • Ngày tạo03/05/2016
  • Cập nhật gần nhất29/10/2026
  • Ngôn ngữRust
  • Giấy phép—
README.md17.7 KBRaw

Rustls is a modern TLS library written in Rust.

Status

Rustls is used in production at many organizations and projects. We aim to maintain reasonable API surface stability but the API may evolve as we make changes to accommodate new features or performance improvements.

We have a roadmap for our future plans. We also have benchmarks to prevent performance regressions and to let you evaluate rustls on your target hardware.

If you'd like to help out, please see CONTRIBUTING.md.

Build Status Coverage Status (codecov.io) Documentation Chat OpenSSF Best Practices

The maintainers pronounce "rustls" as rustles (rather than rust-TLS), but we don't feel strongly about it.

Changelog

The detailed list of changes in each release can be found at https://github.com/rustls/rustls/releases.

Documentation

https://docs.rs/rustls/

Approach

Rustls is a TLS library that aims to provide a good level of cryptographic security, requires no configuration to achieve that security, and provides no unsafe features or obsolete cryptography by default.

Rustls implements TLS1.2 and TLS1.3 for both clients and servers. See the full list of protocol features.

Platform support

While Rustls itself is platform independent, it requires the use of cryptography primitives for implementing the cryptography algorithms used in TLS. In Rustls, a crypto::CryptoProvider represents a collection of crypto primitive implementations.

By providing a custom instance of the crypto::CryptoProvider struct, you can replace all cryptography dependencies of rustls. This is a route to being portable to a wider set of architectures and environments, or compliance requirements. See the crypto::CryptoProvider documentation for more details.

Cryptography providers

Since Rustls 0.22 it has been possible to choose the provider of the cryptographic primitives that Rustls uses. This may be appealing if you have specific platform, compliance or feature requirements.

From 0.24, users must explicitly provide a crypto provider when constructing ClientConfig or ServerConfig instances. See the crypto::CryptoProvider

Nội dung README thuộc về rustls và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/rustls/rustls