[package]
name = "tee_crypto"
version = "0.1.4"
description = "TEE Crypto Crate."
edition = "2024"
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
documentation.workspace = true
[features]
default = []
std = ["alloc"]
alloc = []
pkix-internal-tests = ["pkix"]
pkix = [
"alloc",
"dep:x509-cert",
"dep:der",
"dep:spki",
]
serde = []
[dependencies]
sha1 = { version = "0.11", default-features = false, features = ["oid"] }
sha2 = { version = "0.11", default-features = false, features = ["oid"] }
sm3 = { version = "0.5", default-features = false }
md5 = { package = "md-5", version = "0.11", default-features = false }
digest = { version = "0.11", default-features = false }
aes = { version = "0.9", default-features = false }
sm4 = { version = "0.6", default-features = false }
des = { version = "0.9", default-features = false }
cipher = { version = "0.5", default-features = false }
aead = { version = "0.6", default-features = false, features = ["alloc"] }
ccm = { version = "0.6.0-rc.3", default-features = false, features = ["alloc"] }
ctr = { version = "0.10", default-features = false }
ghash = { version = "0.6", default-features = false }
subtle = { version = "2.6", default-features = false }
hmac = { version = "0.13", default-features = false }
cmac = { version = "0.8", default-features = false }
pbkdf2 = { version = "0.13", default-features = false }
rsa = { version = "0.10.0-rc.18", default-features = false, features = ["hazmat", "encoding"] }
signature = { version = "3.0.0", default-features = false }
pkcs1 = { version = "0.8.0-rc.1", default-features = false }
pkcs8 = { version = "0.11", default-features = false, features = ["alloc"] }
elliptic-curve = { version = ">=0.14.0-rc.36, <0.14.0", default-features = false, features = ["sec1", "pkcs8"] }
p192 = { version = "0.14.0-rc.13", default-features = false, features = ["ecdsa"] }
p224 = { version = "0.14.0-rc.13", default-features = false, features = ["ecdsa"] }
p256 = { version = "0.14.0-rc.13", default-features = false, features = ["ecdsa", "ecdh", "pkcs8"] }
p384 = { version = "0.14.0-rc.13", default-features = false, features = ["ecdsa", "ecdh", "pkcs8"] }
p521 = { version = "0.14.0-rc.13", default-features = false, features = ["ecdsa"] }
ecdsa = { version = "0.17.0-rc.21", default-features = false, features = ["digest", "hazmat", "der", "algorithm"] }
ed25519-dalek = { version = "2", default-features = false, features = ["rand_core", "fast", "digest", "hazmat", "zeroize"] }
curve25519-dalek = { version = "4", default-features = false, features = ["digest"] }
sm2 = { version = "0.14.0-rc.13", default-features = false, features = ["pke", "dsa", "alloc", "der", "pkcs8"] }
crypto-bigint = { version = "0.7", default-features = false, features = ["alloc"] }
crypto-primes = { version = "0.7", default-features = false }
rand_core = { version = "0.10", default-features = false }
rand_chacha = { version = "0.10", default-features = false }
zeroize = { version = "1.9", default-features = false, features = ["alloc"] }
x509-cert = { version = "0.3.0-rc.4", optional = true, default-features = false, features = ["pem"] }
der = { version = "0.8", optional = true, default-features = false, features = ["alloc", "derive", "flagset", "oid"] }
spki = { version = "0.8", optional = true, default-features = false, features = ["alloc"] }
[dev-dependencies]
criterion = "0.8"
hex = { version = "0.4", default-features = false, features = ["alloc"] }
[[test]]
name = "pkix_stitch"
path = "tests/pkix_stitch.rs"
required-features = ["pkix"]
[[test]]
name = "pkix_anchor_nc"
path = "tests/pkix_anchor_nc.rs"
required-features = ["pkix"]
[[bench]]
name = "hash_throughput"
path = "benchs/hash_throughput.rs"
harness = false
[[bench]]
name = "cipher_throughput"
path = "benchs/cipher_throughput.rs"
harness = false
[[bench]]
name = "aead_throughput"
path = "benchs/aead_throughput.rs"
harness = false
[[bench]]
name = "mac_kdf_throughput"
path = "benchs/mac_kdf_throughput.rs"
harness = false
[[bench]]
name = "xts_throughput"
path = "benchs/xts_throughput.rs"
harness = false