[package]
categories = ["api-bindings", "cryptography"]
description = "Digital signatures according to the Matrix specification."
homepage = "https://ruma.dev/"
keywords = ["matrix", "chat", "messaging", "ruma", "cryptography"]
license = "MIT"
name = "ruma-signatures"
readme = "README.md"
repository = "https://github.com/ruma/ruma"
version = "0.15.0"
edition = "2021"

[package.metadata.docs.rs]
all-features = true

[features]
# Allow extra characters in signature IDs not allowed in the specification.
compat-signature-id = []
ring-compat = ["dep:subslice"]
unstable-exhaustive-types = []

[dependencies]
base64 = { workspace = true }
ed25519-dalek = { version = "2.0.0", features = ["pkcs8", "rand_core"] }
pkcs8 = { version = "0.10.0", features = ["alloc"] }
rand = { workspace = true, features = ["getrandom"] }
ruma-common = { workspace = true, features = ["canonical-json"] }
serde_json = { workspace = true }
sha2 = "0.10.6"
subslice = { version = "0.2.3", optional = true }
thiserror = { workspace = true }

[dev-dependencies]
assert_matches2 = { workspace = true }
insta = "1.31.0"

[lints]
workspace = true
