[package]
name = "TTKServer"
version = "0.22.3"
edition = "2021"
default-run = "TTKServer"
license = "MIT"
description = "RA-TLS HTTP/3 (QUIC) server and client for TEEs (AWS Nitro, AMD SEV-SNP, Intel TDX) with RFC 9711 EAT evidence"
repository = "https://github.com/Lanetus/TTKServer"
readme = "README.md"
keywords = ["attestation", "ra-tls", "nitro-enclaves", "http3", "quic"]
categories = ["cryptography", "network-programming"]
include = ["src/**", "tests/**", "benches/**", "Cargo.toml", "Cargo.lock", "README.md", "LICENSE", "CHANGELOG.md"]
[lib]
name = "ttk_server"
path = "src/lib.rs"
[[bin]]
name = "TTKServer"
path = "src/main.rs"
[[bin]]
name = "client"
path = "src/bin/client.rs"
required-features = ["test-client"]
[dependencies]
aws-nitro-enclaves-nsm-api = { version = "0.4", optional = true }
axum = "0.8.9"
base64 = "0.21"
bytes = "1"
ciborium = "0.2"
der-parser = "10.0.0"
env_logger = "0.11"
h3 = "0.0.7"
h3-quinn = "0.0.9"
log = "0.4"
quinn = "0.11"
rcgen = "0.13"
ring = "0.17"
rustls = { version = "0.23", features = ["ring"] }
rustls-pki-types = "1"
rustls-webpki = "0.103"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
time = "0.3.36"
tokio = { version = "1", features = ["full"] }
tower-service = "0.3"
x509-parser = { version = "0.18.1", features = ["verify"] }
[target.'cfg(target_os = "linux")'.dependencies]
tokio-vsock = "0.3"
[features]
default = ["nitro", "mock"]
nitro = ["dep:aws-nitro-enclaves-nsm-api"]
mock = ["dep:aws-nitro-enclaves-nsm-api"]
sev-snp = []
tdx = []
test-client = []
[dev-dependencies]
criterion = "0.8.2"
[[bench]]
name = "client"
harness = false
required-features = ["mock"]