Files
2021-01-13 23:17:06 +01:00

114 lines
3.0 KiB
TOML

[package]
name = "trussed"
version = "0.1.0"
authors = ["Nicolas Stalder <n@stalder.io>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dev-dependencies]
# Testing
serial_test = { version = "*" }
entropy = "0.3.0"
[dependencies]
aes = { version = "0.3.2", default-features = false }
block-modes = { version = "0.3.3", default-features = false }
block-cipher-trait = { version = "0.6.2" }
chacha20 = { version = "0.3.4", features = ["rng"] }
chacha20poly1305 = { version = "0.3.3", default-features = false, features = ["heapless", "reduced-round"] }
rand_core = "0.5.1"
# ctapcbor = { git = "https://github.com/nickray/ctapcbor", branch = "main" }
# TODO: Currently, only depend on this for cose::P256PublicKey
# --> would be good to remove dependency
# OTOH, ctapcbor is in ctap_types too, and we use it a lot
# --> so maybe split CBOR + COSE out of ctap-types?
ctap-types = { path = "../ctap-types" }
des = { version = "0.3.0", optional = true }
embedded-hal = { version = "0.2.3", features = ["unproven"] }
generic-array = "0.12.3" # "0.13.2"
# generic-array = { version = "0.13.2", default-features = false }
heapless = "0.5.5"
hmac = "0.7.1"
interchange = { path = "../interchange" }
nb = "1"
serde = { version = "1.0", default-features = false }
serde_cbor = { version = "0.11.0", default-features = false }
serde-indexed = "0.0.4"
sha-1 = { version = "0.8.2", default-features = false, optional = true }
sha2 = { version = "0.8.0", default-features = false }
delog = "0.1.0-alpha.3"
[dependencies.heapless-bytes]
# version = "0.1.0"
# path = "../../../heapless-bytes"
git = "https://github.com/ycrypto/heapless-bytes"
branch = "main"
[dependencies.littlefs2]
# path = "../../../littlefs2"
git = "https://github.com/nickray/littlefs2"
branch = "closures-instead-of-ub"
# git = "https://github.com/nickray/littlefs2"
# branch = "main"
[dependencies.nisty]
version = "0.1.0-alpha.2"
features = ["asn1-der", "cose"]
# path = "../../../nisty"
# git = "https://github.com/ycrypto/nisty"
# branch = "main"
[dependencies.salty]
git = "https://github.com/ycrypto/salty"
branch = "main"
features = ["cose"]
[features]
default = ["default-mechanisms"]
verbose-tests = ["littlefs2/ll-assertions"]
verbose-lfs = ["littlefs2/ll-assertions", "littlefs2/ll-trace"]
log-all = []
log-none = []
log-info = []
log-debug = []
log-warn = []
log-error = []
# mechanisms
# default-mechanisms = ["aes256-cbc", "chacha8-poly1305", "ed25519", "hmac-sha256", "p256", "sha256", "trng"]
default-mechanisms = [
"aes256-cbc",
"chacha8-poly1305",
"ed25519",
"hmac-sha256",
"p256",
"sha256",
"tdes",
"totp",
"trng",
]
aes256-cbc = []
chacha8-poly1305 = []
ed25519 = []
hmac-sha256 = []
p256 = []
sha256 = []
tdes = ["des"]
totp = ["sha-1"]
trng = ["sha-1"]
clients-1 = []
clients-2 = []
clients-3 = []
clients-4 = []
clients-5 = []
[patch.crates-io]
heapless = { git = "https://github.com/nicolas-solokeys/heapless", branch = "bytebuf" }
# MacOS needed patches
nisty = {git = "https://github.com/ycrypto/nisty", branch="main"}