[package] name = "mote-tls" version = "0.1.0" edition = "2024" description = "TLS 1.3 client with no_std and no allocator support" license = "Apache-2.0" keywords = ["async", "tls", "no_std", "bare-metal", "network"] [dependencies] portable-atomic = { version = "1.6.0", default-features = false } p256 = { version = "0.13", default-features = false, features = [ "ecdh", "ecdsa", "sha256" ] } p384 = { version = "0.13", default-features = false, features = [ "ecdsa", "sha384" ], optional = true } ed25519-dalek = { version = "2.2", default-features = false, optional = true } rsa = { version = "0.9.9", default-features = false, features = ["sha2"], optional = true } rand_core = { version = "0.6.3", default-features = false } hkdf = "0.12.3" hmac = "0.12.1" sha2 = { version = "0.10.2", default-features = false } aes-gcm = { version = "0.10.1", default-features = false, features = ["aes"] } digest = { version = "0.10.3", default-features = false, features = [ "core-api" ] } typenum = { version = "1.15.0", default-features = false } heapless = { version = "0.9", default-features = false } heapless_typenum = { package = "heapless", version = "0.6", default-features = false } embedded-io = "0.7" embedded-io-async = "0.7" embedded-io-adapters = { version = "0.7", optional = true } generic-array = { version = "0.14", default-features = false } webpki = { package = "rustls-webpki", version = "0.101.7", default-features = false, optional = true } const-oid = { version = "0.10.1", optional = true } der = { version = "0.8.0-rc.2", features = ["derive", "oid", "time", "heapless"], optional = true } signature = { version = "2.2", default-features = false } ecdsa = { version = "0.16.9", default-features = false } # Logging alternatives log = { version = "0.4", optional = true } defmt = { version = "1.0.1", optional = true } [dev-dependencies] env_logger = "0.11" tokio = { version = "1", features = ["full"] } mio = { version = "0.8.3", features = ["os-poll", "net"] } rustls = "0.21.6" rustls-pemfile = "1.0" serde = { version = "1.0", features = ["derive"] } rand = "0.8" log = "0.4" pem-parser = "0.1.1" openssl = "0.10.44" [features] default = ["std", "log", "tokio"] defmt = ["dep:defmt", "embedded-io/defmt", "heapless/defmt"] std = ["embedded-io/std", "embedded-io-async/std"] tokio = ["embedded-io-adapters/tokio-1"] alloc = [] webpki = ["dep:webpki"] native-pki = ["dep:der","dep:const-oid"] rsa = ["dep:rsa", "native-pki", "alloc"] ed25519 = ["dep:ed25519-dalek", "native-pki"] p384 = ["dep:p384", "native-pki"]