[package]
name = "ecdsa"
version = "0.17.0-rc.17"
description = """
Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm
(ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), providing
RFC6979 deterministic signatures as well as support for added entropy
"""
authors = ["RustCrypto Developers"]
license = "Apache-2.0 OR MIT"
homepage = "https://github.com/RustCrypto/signatures/tree/master/ecdsa"
repository = "https://github.com/RustCrypto/signatures"
readme = "README.md"
categories = ["cryptography", "no-std"]
keywords = ["crypto", "ecc", "nist", "secp256k1", "signature"]
edition = "2024"
rust-version = "1.85"

[dependencies]
elliptic-curve = { version = "0.14.0-rc.31", default-features = false, features = ["sec1"] }
signature = { version = "3.0.0-rc.10", default-features = false, features = ["rand_core"] }
zeroize = { version = "1.5", default-features = false }

# optional dependencies
der = { version = "0.8", optional = true }
digest = { version = "0.11", optional = true, default-features = false, features = ["oid"] }
rfc6979 = { version = "0.5.0-rc.5", optional = true }
serdect = { version = "0.4", optional = true, default-features = false, features = ["alloc"] }
sha2 = { version = "0.11", optional = true, default-features = false, features = ["oid"] }
spki = { version = "0.8", optional = true, default-features = false }

[dev-dependencies]
elliptic-curve = { version = "0.14.0-rc.31", default-features = false, features = ["dev"] }
hex-literal = "1"
sha2 = { version = "0.11", default-features = false }

[features]
default = ["digest"]
alloc = ["elliptic-curve/alloc", "signature/alloc", "spki/alloc"]
std = ["alloc", "elliptic-curve/std"]

algorithm = ["dep:rfc6979", "digest", "elliptic-curve/arithmetic", "hazmat"]
dev = ["algorithm", "digest/dev", "elliptic-curve/dev"]
der = ["dep:der"]
digest = ["dep:digest", "elliptic-curve/digest", "signature/digest"]
getrandom = ["elliptic-curve/getrandom"]
hazmat = []
pkcs8 = ["der", "digest", "elliptic-curve/pkcs8"]
pem = ["elliptic-curve/pem", "pkcs8"]
serde = ["dep:serdect", "elliptic-curve/serde", "pkcs8"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
