[package]
edition = "2021"
name = "trussed"
version = "0.2.0"
authors = [
"The Trussed developers",
"Nicolas Stalder <n@stalder.io>",
"Nitrokey GmbH",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Modern Cryptographic Firmware"
homepage = "https://trussed.dev"
readme = "README.md"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/trussed-dev/trussed"
[package.metadata.docs.rs]
all-features = true
[features]
aes256-cbc = [
"trussed-core/aes256-cbc",
"dep:aes",
"dep:cbc",
]
aes256-gcm = [
"trussed-core/aes256-gcm",
"dep:aead",
"dep:aes-gcm",
"dep:cipher",
]
all-clients = [
"attestation-client",
"certificate-client",
"crypto-client",
"counter-client",
"filesystem-client",
"management-client",
"ui-client",
]
attestation-client = [
"crypto-client",
"ed255",
"p256",
"trussed-core/attestation-client",
"dep:flexiber",
"dep:hex-literal",
]
certificate-client = ["trussed-core/certificate-client"]
chacha8-poly1305 = [
"trussed-core/chacha8-poly1305",
"dep:aead",
"dep:chacha20poly1305",
"dep:cipher",
]
counter-client = ["trussed-core/counter-client"]
crypto-client = ["trussed-core/crypto-client"]
default = [
"all-clients",
"default-mechanisms",
]
default-mechanisms = [
"aes256-cbc",
"chacha8-poly1305",
"ed255",
"x255",
"hmac-sha1",
"hmac-sha256",
"p256",
"sha256",
"shared-secret",
"tdes",
"totp",
"trng",
]
ed255 = [
"trussed-core/ed255",
"dep:cbor-smol",
"dep:cosey",
"dep:salty",
]
filesystem-client = ["trussed-core/filesystem-client"]
hmac-blake2s = [
"trussed-core/hmac-blake2s",
"dep:blake2",
"dep:hmac",
]
hmac-sha1 = [
"trussed-core/hmac-sha1",
"dep:hmac",
"dep:sha-1",
]
hmac-sha256 = [
"trussed-core/hmac-sha256",
"dep:hmac",
"dep:sha2",
]
hmac-sha512 = [
"trussed-core/hmac-sha512",
"dep:hmac",
"dep:sha2",
]
log-all = []
log-debug = []
log-error = []
log-info = []
log-none = []
log-trace = []
log-warn = []
management-client = ["trussed-core/management-client"]
p256 = [
"trussed-core/p256",
"dep:cbor-smol",
"dep:cosey",
"dep:p256-cortex-m4",
]
p384 = [
"trussed-core/p384",
"dep:p384",
]
p521 = [
"trussed-core/p521",
"dep:p521",
"dep:ecdsa",
]
serde-extensions = ["trussed-core/serde-extensions"]
sha256 = [
"trussed-core/sha256",
"dep:sha2",
]
shared-secret = ["trussed-core/shared-secret"]
std = []
tdes = [
"trussed-core/tdes",
"dep:des",
"dep:generic-array",
]
test-attestation-cert-ids = []
test-increased-interchange-size = []
totp = [
"trussed-core/totp",
"dep:hmac",
"dep:sha-1",
]
trng = [
"trussed-core/trng",
"dep:sha-1",
]
ui-client = ["trussed-core/ui-client"]
verbose-lfs = [
"littlefs2/ll-assertions",
"littlefs2/ll-trace",
]
verbose-tests = ["littlefs2/ll-assertions"]
virt = [
"std",
"littlefs2/alloc",
"dep:generic-array",
]
x255 = [
"trussed-core/x255",
"dep:salty",
]
[lib]
name = "trussed"
path = "src/lib.rs"
[[test]]
name = "aead"
path = "tests/aead.rs"
required-features = [
"crypto-client",
"virt",
]
[[test]]
name = "aes256cbc"
path = "tests/aes256cbc.rs"
required-features = [
"crypto-client",
"default-mechanisms",
"virt",
]
[[test]]
name = "attest"
path = "tests/attest.rs"
[[test]]
name = "backends"
path = "tests/backends.rs"
required-features = [
"filesystem-client",
"virt",
]
[[test]]
name = "certificate"
path = "tests/certificate.rs"
required-features = [
"certificate-client",
"virt",
]
[[test]]
name = "counter"
path = "tests/counter.rs"
required-features = [
"counter-client",
"virt",
]
[[test]]
name = "filesystem"
path = "tests/filesystem.rs"
required-features = [
"crypto-client",
"default-mechanisms",
"filesystem-client",
"virt",
]
[[test]]
name = "interchange_size"
path = "tests/interchange_size.rs"
[[test]]
name = "key_confusion"
path = "tests/key_confusion.rs"
required-features = [
"crypto-client",
"default-mechanisms",
"hmac-blake2s",
"hmac-sha512",
"virt",
]
[[test]]
name = "p256"
path = "tests/p256.rs"
required-features = [
"crypto-client",
"default-mechanisms",
"virt",
]
[[test]]
name = "serde_extensions"
path = "tests/serde_extensions.rs"
required-features = [
"serde-extensions",
"virt",
]
[[test]]
name = "tdes"
path = "tests/tdes.rs"
required-features = [
"crypto-client",
"tdes",
"virt",
]
[[test]]
name = "virt"
path = "tests/virt.rs"
required-features = [
"filesystem-client",
"management-client",
"virt",
]
[[test]]
name = "x255"
path = "tests/x255.rs"
required-features = [
"crypto-client",
"default-mechanisms",
"virt",
]
[dependencies.aead]
version = "0.5"
optional = true
default-features = false
[dependencies.aes]
version = "0.8"
optional = true
default-features = false
[dependencies.aes-gcm]
version = "0.10"
features = ["aes"]
optional = true
default-features = false
[dependencies.bitflags]
version = "2.1"
[dependencies.blake2]
version = "0.10"
optional = true
default-features = false
[dependencies.cbc]
version = "0.1.2"
optional = true
[dependencies.cbor-smol]
version = "0.5"
features = ["heapless-bytes-v0-5"]
optional = true
[dependencies.chacha20poly1305]
version = "0.10"
features = ["reduced-round"]
optional = true
default-features = false
[dependencies.cipher]
version = "0.4"
optional = true
[dependencies.cosey]
version = "0.4"
optional = true
[dependencies.delog]
version = "0.1.0"
[dependencies.des]
version = "0.8"
optional = true
[dependencies.ecdsa]
version = "0.16.9"
optional = true
default-features = false
[dependencies.flexiber]
version = "0.2.0"
features = [
"derive",
"heapless",
]
optional = true
[dependencies.generic-array]
version = "0.14.4"
optional = true
[dependencies.heapless-bytes]
version = "0.5"
features = ["heapless-0.9"]
[dependencies.hex-literal]
version = "0.4.1"
optional = true
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.interchange]
version = "0.3.0"
[dependencies.littlefs2]
version = "0.8"
[dependencies.littlefs2-core]
version = "0.1"
features = [
"serde",
"heapless-bytes05",
]
[dependencies.p256-cortex-m4]
version = "0.1.0-alpha.6"
features = [
"prehash",
"sec1-signatures",
]
optional = true
[dependencies.p384]
version = "0.13.0"
features = [
"sha384",
"ecdh",
"ecdsa",
]
optional = true
default-features = false
[dependencies.p521]
version = "0.13.3"
features = [
"sha512",
"ecdh",
"ecdsa",
]
optional = true
default-features = false
[dependencies.postcard]
version = "0.7.0"
[dependencies.rand_chacha]
version = "0.3.1"
default-features = false
[dependencies.rand_core]
version = "0.6"
[dependencies.salty]
version = "0.3"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = false
[dependencies.sha-1]
version = "0.10"
optional = true
default-features = false
[dependencies.sha2]
version = "0.10"
optional = true
default-features = false
[dependencies.trussed-core]
version = "0.2.2"
[dependencies.zeroize]
version = "1.2"
features = ["zeroize_derive"]
default-features = false
[dev-dependencies.chacha20]
version = "0.9"
default-features = false
[dev-dependencies.entropy]
version = "0.4.0"
[dev-dependencies.generic-array]
version = "0.14.4"
[dev-dependencies.hex-literal]
version = "0.4.1"
[dev-dependencies.littlefs2]
version = "0.8"
[dev-dependencies.once_cell]
version = "1.13.0"
[dev-dependencies.serde_test]
version = "1"
[dev-dependencies.serial_test]
version = "2"
[dev-dependencies.sha2]
version = "0.10"
default-features = false