certmagic 0.1.0

Automatic TLS certificate acquisition, renewal, and maintenance for Rust servers
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "certmagic"
version = "0.1.0"
build = false
exclude = [
    "docs/",
    ".github/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Automatic TLS certificate acquisition, renewal, and maintenance for Rust servers"
homepage = "https://github.com/houseme/certmagic"
documentation = "https://docs.rs/certmagic"
readme = "README.md"
keywords = [
    "tls",
    "acme",
    "letsencrypt",
    "https",
    "certificate",
]
categories = [
    "network-programming",
    "cryptography",
    "asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/houseme/certmagic"

[features]
aws-lc-rs = [
    "dep:aws-lc-rs",
    "rustls/aws_lc_rs",
    "tokio-rustls/aws_lc_rs",
    "rcgen/aws_lc_rs",
    "reqwest/rustls",
    "x509-parser/verify-aws",
]
default = [
    "aws-lc-rs",
    "zerossl",
    "file-storage",
    "http-01",
    "dns-01",
    "ocsp",
]
dns-01 = ["dep:hickory-resolver"]
file-storage = []
http-01 = []
integration-tests = []
local-cache = []
ocsp = []
ring = [
    "dep:ring",
    "rustls/ring",
    "tokio-rustls/ring",
    "rcgen/ring",
    "reqwest/rustls-no-provider",
    "x509-parser/verify",
]
rsa = [
    "dep:rsa",
    "aws-lc-rs",
    "rcgen/aws_lc_rs",
]
zerossl = []

[lib]
name = "certmagic"
path = "src/lib.rs"

[[example]]
name = "basic_https"
path = "examples/basic_https.rs"

[[example]]
name = "custom_dns01"
path = "examples/custom_dns01.rs"

[[example]]
name = "manager_compat"
path = "examples/manager_compat.rs"

[[example]]
name = "on_demand"
path = "examples/on_demand.rs"

[[test]]
name = "api_aliases"
path = "tests/api_aliases.rs"

[[test]]
name = "cert_store_separation"
path = "tests/cert_store_separation.rs"

[[test]]
name = "config_api_compat"
path = "tests/config_api_compat.rs"

[[test]]
name = "external_zerossl"
path = "tests/external_zerossl.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "loopback_challenges"
path = "tests/loopback_challenges.rs"

[[test]]
name = "resolver_behavior"
path = "tests/resolver_behavior.rs"

[[test]]
name = "solver_api_compat"
path = "tests/solver_api_compat.rs"

[[test]]
name = "zerossl_api_mock"
path = "tests/zerossl_api_mock.rs"

[dependencies.async-trait]
version = "0.1.92"

[dependencies.aws-lc-rs]
version = "1.18.1"
optional = true

[dependencies.base64]
version = "0.23.1"

[dependencies.futures]
version = "0.3.34"

[dependencies.hex]
version = "0.4.3"

[dependencies.hickory-resolver]
version = "0.26.3"
optional = true

[dependencies.idna]
version = "1.1.0"

[dependencies.p521]
version = "0.14.0"
features = ["ecdsa"]

[dependencies.rand]
version = "0.10.3"

[dependencies.rcgen]
version = "0.14.10"
features = [
    "crypto",
    "pem",
]
default-features = false

[dependencies.reqwest]
version = "0.13.5"
features = [
    "form",
    "http2",
    "json",
]
default-features = false

[dependencies.ring]
version = "0.17.14"
optional = true

[dependencies.rsa]
version = "0.10.0-rc.18"
features = [
    "sha2",
    "getrandom",
]
optional = true

[dependencies.rustls]
version = "0.23.45"
features = [
    "std",
    "tls12",
]
default-features = false

[dependencies.rustls-pki-types]
version = "1.15.1"

[dependencies.serde]
version = "1.0.229"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.151"

[dependencies.sha1]
version = "0.11.0"

[dependencies.sha2]
version = "0.11.0"

[dependencies.thiserror]
version = "2.0.21"

[dependencies.time]
version = "0.3.55"
features = [
    "formatting",
    "parsing",
    "serde",
    "std",
]

[dependencies.tokio]
version = "1.53.1"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "time",
    "sync",
    "fs",
    "io-util",
    "signal",
]

[dependencies.tokio-rustls]
version = "0.26.6"
features = ["tls12"]
default-features = false

[dependencies.tokio-util]
version = "0.7.19"
features = ["rt"]

[dependencies.tracing]
version = "0.1.44"

[dependencies.url]
version = "2.5.8"

[dependencies.x509-parser]
version = "0.18.1"

[dev-dependencies.tempfile]
version = "3.27.0"

[dev-dependencies.tokio]
version = "1.53.1"
features = ["test-util"]

[lints.clippy]
all = "warn"
dbg_macro = "warn"

[lints.rust]
missing_debug_implementations = "warn"
unsafe_code = "forbid"

[profile.dev]
opt-level = 0
debug = 1

[profile.release]
lto = "thin"
codegen-units = 1
strip = "debuginfo"