[package] name = "jaws" version = "1.0.0" edition = "2021" authors = ["Alex Rudy "] license = "MIT" repository = "https://github.com/alexrudy/jaws" description = "JSON Algorithms and Web Signing" keywords = ["https", "networking", "tls"] categories = [ "cryptography", "network-programming", "web-programming::http-server", ] readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [package.metadata.docs.rs] all-features = true default-target = "x86_64-unknown-linux-gnu" [dependencies] base64ct = { version = "1.6", features = ["std"] } bytes = { version = "1.6" } chrono = { version = "0.4", features = ["serde"] } der = { version = "0.7.9", optional = true } digest = { version = "0.10" } ecdsa = { version = "0.16", features = ["signing", "der"], optional = true } hmac = { version = "0.12", optional = true } p256 = { version = "0.13", features = ["ecdsa", "jwk"], optional = true } p384 = { version = "0.13", features = ["ecdsa", "jwk"], optional = true } p521 = { version = "0.13", features = ["ecdsa", "jwk"], optional = true } pkcs8 = "0.10" rand_core = { version = "0.6.4", optional = true, default-features = false } rsa = { version = "0.9", features = ["sha2"], optional = true } serde = { version = "1", features = ["derive"] } serde_json = "1" sha1 = "0.10" sha2 = "0.10" signature = { version = "2.2", features = ["digest", "std"] } spki = { version = "0.7", optional = true } thiserror = "1" url = { version = "2.5", features = ["serde"] } zeroize = { version = "1.8", features = ["serde", "derive"] } [dependencies.elliptic-curve] version = "0.13" features = ["pkcs8", "jwk", "arithmetic", "sec1", "ecdh"] optional = true [dev-dependencies] static_assertions = "1.1.0" [features] default = ["fmt", "rsa", "ecdsa", "p256", "p384", "p521", "hmac"] fmt = [] rand = ["dep:rand_core"] rsa = ["dep:rsa"] hmac = ["dep:hmac"] ecdsa = ["dep:ecdsa", "dep:elliptic-curve"] p256 = ["dep:p256", "ecdsa"] p384 = ["dep:p384", "ecdsa"] p521 = ["dep:p521", "ecdsa"] spki = ["dep:spki"] der = ["dep:der"] [[example]] name = "acme-new-account" path = "examples/acme-new-account.rs" required-features = ["fmt", "rsa"] [[example]] name = "rfc7515-a2" path = "examples/rfc7515a2.rs" required-features = ["fmt", "rsa"] doc-scrape-examples = true [[example]] name = "dyn-key" path = "examples/dyn-key.rs" required-features = ["fmt", "rsa"] doc-scrape-examples = true [[example]] name = "save-key" path = "examples/save-key.rs" required-features = ["fmt", "rsa"] [[test]] name = "dyn-rsa-key" path = "tests/dyn-rsa-key.rs" required-features = ["fmt", "rsa"] doc-scrape-examples = true