[package]
name = "rustls"
version = "0.23.18"
edition = "2021"
rust-version = "1.71"
license = "Apache-2.0 OR ISC OR MIT"
readme = "../README.md"
description = "Rustls is a modern TLS library written in Rust."
homepage = "https://github.com/rustls/rustls"
repository = "https://github.com/rustls/rustls"
categories = ["network-programming", "cryptography"]
autobenches = false
autotests = false
exclude = ["src/testdata", "tests/**"]
build = "build.rs"
[build-dependencies]
rustversion = { version = "1.0.6", optional = true }
[dependencies]
aws-lc-rs = { workspace = true, optional = true }
brotli = { workspace = true, optional = true }
brotli-decompressor = { workspace = true, optional = true }
hashbrown = { workspace = true, optional = true }
log = { workspace = true, optional = true }
once_cell = { version = "1.16", default-features = false, features = ["alloc", "race"] }
ring = { workspace = true, optional = true }
subtle = { workspace = true }
webpki = { workspace = true }
pki-types = { workspace = true }
zeroize = { workspace = true }
zlib-rs = { workspace = true, optional = true }
[features]
default = ["aws_lc_rs", "logging", "std", "tls12"]
std = ["webpki/std", "pki-types/std", "once_cell/std"]
logging = ["log"]
aws_lc_rs = ["dep:aws-lc-rs", "webpki/aws_lc_rs"]
aws-lc-rs = ["aws_lc_rs"]
brotli = ["dep:brotli", "dep:brotli-decompressor", "std"]
ring = ["dep:ring", "webpki/ring"]
custom-provider = []
tls12 = []
read_buf = ["rustversion", "std"]
fips = ["aws_lc_rs", "aws-lc-rs?/fips"]
zlib = ["dep:zlib-rs"]
[dev-dependencies]
base64 = { workspace = true }
bencher = { workspace = true }
env_logger = { workspace = true }
hex = { workspace = true }
log = { workspace = true }
num-bigint = { workspace = true }
rcgen = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
time = { workspace = true }
webpki-roots = { workspace = true }
[[bench]]
name = "benchmarks"
path = "benches/benchmarks.rs"
harness = false
required-features = ["ring"]
[[example]]
name = "test_ca"
path = "examples/internal/test_ca.rs"
[[test]]
name = "api"
path = "tests/runners/api.rs"
[[test]]
name = "api_ffdhe"
path = "tests/runners/api_ffdhe.rs"
required-features = ["tls12"]
[[test]]
name = "bogo"
path = "tests/bogo.rs"
[[test]]
name = "client_cert_verifier"
path = "tests/runners/client_cert_verifier.rs"
[[test]]
name = "ech"
path = "tests/ech.rs"
[[test]]
name = "key_log_file_env"
path = "tests/runners/key_log_file_env.rs"
[[test]]
name = "process_provider"
path = "tests/process_provider.rs"
[[test]]
name = "server_cert_verifier"
path = "tests/runners/server_cert_verifier.rs"
[[test]]
name = "unbuffered"
path = "tests/runners/unbuffered.rs"
[package.metadata.docs.rs]
features = ["read_buf", "ring"]
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.cargo_check_external_types]
allowed_external_types = [
"rustls_pki_types",
"rustls_pki_types::*",
]