[package]
edition = "2021"
rust-version = "1.75"
name = "est-ca"
version = "0.2.0"
authors = ["Patrick Moore <patrick@patrick-moore.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "RFC 7030 Enrollment over Secure Transport (EST) — client, server, and an internal X.509 CA in pure Rust."
documentation = "https://docs.rs/est-ca"
readme = "README.md"
keywords = [
"est",
"ca",
"pki",
"x509",
"iot",
]
categories = ["cryptography"]
license = "Apache-2.0 OR MIT"
[features]
ca = [
"dep:rcgen",
"dep:rand",
"dep:parking_lot",
"dep:rustls-pki-types",
]
client = [
"dep:rcgen",
"dep:reqwest",
"dep:base64",
"dep:rustls-pki-types",
]
default = ["client"]
full = [
"client",
"server",
"ca",
]
server = [
"dep:axum",
"dep:tokio",
"ca",
]
[lib]
name = "est_ca"
path = "src/lib.rs"
[[test]]
name = "enrollment_roundtrip"
path = "tests/enrollment_roundtrip.rs"
[[test]]
name = "error_paths"
path = "tests/error_paths.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.axum]
version = "0.6"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.cms]
version = "0.2"
[dependencies.const-oid]
version = "0.9"
[dependencies.der]
version = "0.7"
features = ["oid"]
[dependencies.parking_lot]
version = "0.12"
optional = true
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.rcgen]
version = "0.13"
features = ["x509-parser"]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
]
optional = true
[dependencies.rustls-pki-types]
version = "1"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"derive",
]
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = [
"sync",
"fs",
"rt",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.x509-cert]
version = "0.2"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
default-features = false
[dev-dependencies.x509-parser]
version = "0.16"
[lints.clippy]
unwrap_used = "warn"
[lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "warn"