[package]
edition = "2024"
name = "keycast"
version = "0.1.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A convient wrapper around mdns_sd for local service discovery"
readme = "README.md"
license = "MIT"
repository = "https://github.com/vivianlazaras/keycast"
[features]
certgen = ["dep:rcgen"]
default = [
"sha2",
"rsa",
"ed25519",
"certgen",
]
ed25519 = ["dep:ed25519-dalek"]
pkcs11 = [
"rustls-verifier",
"dep:cryptoki",
]
rsa = ["dep:rsa"]
rustls-reqwest = [
"rustls-verifier",
"dep:reqwest",
]
rustls-verifier = [
"dep:rustls",
"dep:rustls-pki-types",
"dep:x509-parser",
]
sha2 = ["dep:sha2"]
[lib]
name = "keycast"
path = "src/lib.rs"
[[bin]]
name = "keycast"
path = "src/main.rs"
[[example]]
name = "advertise"
path = "examples/advertise.rs"
[[example]]
name = "discover"
path = "examples/discover.rs"
[[example]]
name = "reqwest"
path = "examples/reqwest.rs"
[[example]]
name = "rocket"
path = "examples/rocket.rs"
[dependencies.base64]
version = "0.22.1"
[dependencies.cryptoki]
version = "0.10.0"
optional = true
[dependencies.ed25519-dalek]
version = "2.2.0"
features = ["pkcs8"]
optional = true
[dependencies.hex]
version = "0.4.3"
[dependencies.hostname]
version = "0.4.1"
[dependencies.log]
version = "0.4.28"
[dependencies.mdns-sd]
version = "0.15.1"
[dependencies.pkcs8]
version = "0.10.2"
[dependencies.rand]
version = "0.8"
[dependencies.rcgen]
version = "0.14.5"
features = [
"crypto",
"ring",
"pem",
]
optional = true
default-features = false
[dependencies.reqwest]
version = "0.12.24"
features = ["rustls-tls"]
optional = true
default-features = false
[dependencies.rsa]
version = "0.9.8"
optional = true
[dependencies.rustls]
version = "0.23.34"
features = ["ring"]
optional = true
[dependencies.rustls-pemfile]
version = "2.2.0"
[dependencies.rustls-pki-types]
version = "1.13.0"
features = ["std"]
optional = true
[dependencies.serde]
version = "1.0.228"
[dependencies.serde_derive]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.thiserror]
version = "2.0.17"
[dependencies.time]
version = "0.3.44"
[dependencies.tokio]
version = "1.48.0"
features = ["full"]
[dependencies.x509-parser]
version = "0.18.0"
optional = true
[dev-dependencies.rocket]
version = "0.5.1"
features = ["tls"]