[package]
name = "affinidi-mdoc"
description = "ISO/IEC 18013-5 mdoc (Mobile Document) implementation for mobile driving licences and eIDAS attestations."
version = "0.1.0"
edition.workspace = true
authors.workspace = true
readme = "README.md"
homepage.workspace = true
license.workspace = true
keywords = ["ssi", "affinidi", "mdoc", "iso18013", "eidas"]
repository.workspace = true
publish.workspace = true
rust-version.workspace = true

[features]
default = ["es256"]
_test-utils = []
es256 = ["dep:p256"]
es384 = ["dep:p384"]
eddsa = ["dep:ed25519-dalek"]
mdl = []

[[example]]
name = "mdoc_issuance"
path = "examples/mdoc_issuance.rs"
required-features = ["_test-utils"]

[[example]]
name = "mdoc_presentation"
path = "examples/mdoc_presentation.rs"
required-features = ["_test-utils"]

[dependencies]
ciborium = "0.2"
ciborium-io = "0.2"
coset = "0.3"
rand = "0.9"
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
serde_cbor = "0.11"
serde_json = "1.0"
p256 = { version = "0.13", features = ["ecdsa", "arithmetic"], optional = true }
p384 = { version = "0.13", features = ["ecdsa", "arithmetic"], optional = true }
ed25519-dalek = { version = "2.2", features = ["rand_core"], optional = true }
sha2 = "0.10"
hmac = "0.12"
hkdf = "0.12"
aes-gcm = "0.10"
thiserror = "2.0"
tracing = "0.1"
hex = "0.4"

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
