[package]
edition = "2024"
rust-version = "1.87"
name = "krabitls"
version = "0.5.1"
authors = ["kaidokert <kaidokert@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
A TLS13 client lib for microcontrollers.
"""
homepage = "https://github.com/kaidokert/krabitls-rs"
readme = "README.md"
keywords = [
"embedded",
"no-std",
"no-heap",
"tls",
]
categories = [
"cryptography",
"no-std",
"no-std::no-alloc",
]
license = "Apache-2.0"
repository = "https://github.com/kaidokert/krabitls-rs"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
backend-matrix = ["krabiecdsa?/test-vectors"]
bigint-heapless = []
blinding = []
carrier-bnum = []
carrier-crypto-bigint = []
cert-der = ["dep:der"]
chacha20 = [
"dep:chacha20poly1305",
"dep:chacha20",
]
cipher-aes = ["dep:aes-gcm"]
default = [
"cert-der",
"cipher-aes",
"x25519-kx",
]
dev-utils = []
dtls = [
"cert-der",
"x25519-kx",
]
ecdsa = [
"dep:krabiecdsa",
"fixed-bigint/cios",
]
ecdsa-sign = ["ecdsa"]
ip-host = []
jedisct = ["dep:hmac-sha256"]
mldsa = ["dep:krabipqc"]
mlkem = [
"dep:krabipqc",
"x25519-kx",
]
p256-kx = [
"dep:krabiecdsa",
"krabiecdsa/ecdh",
"dep:kem",
"fixed-bigint/cios",
]
rsa = [
"dep:rsa_heapless",
"sha2/oid",
]
rsa-1024 = ["rsa"]
rsa-3072 = ["rsa"]
rsa-4096 = ["rsa"]
rsa_pss_only = ["rsa"]
x25519-kx = ["dep:kem"]
[lib]
name = "krabitls"
path = "src/lib.rs"
[[test]]
name = "canned_handshake"
path = "tests/canned_handshake.rs"
[[test]]
name = "canned_handshake_chacha"
path = "tests/canned_handshake_chacha.rs"
[[test]]
name = "canned_handshake_ecdsa"
path = "tests/canned_handshake_ecdsa.rs"
[[test]]
name = "canned_handshake_mlkem"
path = "tests/canned_handshake_mlkem.rs"
[[test]]
name = "canned_handshake_mtls"
path = "tests/canned_handshake_mtls.rs"
[[test]]
name = "canned_handshake_mtls_rsa"
path = "tests/canned_handshake_mtls_rsa.rs"
[[test]]
name = "canned_handshake_p256"
path = "tests/canned_handshake_p256.rs"
[[test]]
name = "chain_replay"
path = "tests/chain_replay.rs"
[[test]]
name = "gen_chacha_fixtures"
path = "tests/gen_chacha_fixtures.rs"
[[test]]
name = "gen_chacha_mlkem_mldsa_fixtures"
path = "tests/gen_chacha_mlkem_mldsa_fixtures.rs"
[[test]]
name = "gen_chain_fixtures"
path = "tests/gen_chain_fixtures.rs"
[[test]]
name = "gen_ecdsa_fixtures"
path = "tests/gen_ecdsa_fixtures.rs"
[[test]]
name = "gen_mldsa_fixtures"
path = "tests/gen_mldsa_fixtures.rs"
[[test]]
name = "gen_mlkem_fixtures"
path = "tests/gen_mlkem_fixtures.rs"
[[test]]
name = "gen_mlkem_mldsa_fixtures"
path = "tests/gen_mlkem_mldsa_fixtures.rs"
[[test]]
name = "gen_mtls_chacha_fixtures"
path = "tests/gen_mtls_chacha_fixtures.rs"
[[test]]
name = "gen_mtls_ecdsa_fixtures"
path = "tests/gen_mtls_ecdsa_fixtures.rs"
[[test]]
name = "gen_mtls_fixtures"
path = "tests/gen_mtls_fixtures.rs"
[[test]]
name = "gen_mtls_p256_ecdsa_fixtures"
path = "tests/gen_mtls_p256_ecdsa_fixtures.rs"
[[test]]
name = "gen_mtls_rsa_fixtures"
path = "tests/gen_mtls_rsa_fixtures.rs"
[[test]]
name = "gen_mtls_rsa_srv_fixtures"
path = "tests/gen_mtls_rsa_srv_fixtures.rs"
[[test]]
name = "gen_p256_ecdsa_fixtures"
path = "tests/gen_p256_ecdsa_fixtures.rs"
[[test]]
name = "gen_p256_fixtures"
path = "tests/gen_p256_fixtures.rs"
[[test]]
name = "gen_rsa_fixtures"
path = "tests/gen_rsa_fixtures.rs"
[[test]]
name = "strategy_coverage"
path = "tests/strategy_coverage.rs"
[dependencies.aead]
version = "0.6"
default-features = false
[dependencies.aes-gcm]
version = "0.11"
features = [
"aes",
"zeroize",
]
optional = true
default-features = false
[dependencies.chacha20]
version = "0.10"
features = ["zeroize"]
optional = true
default-features = false
[dependencies.chacha20poly1305]
version = "0.11"
features = ["zeroize"]
optional = true
default-features = false
[dependencies.const-num-traits]
version = "0.2.1"
features = ["ct"]
default-features = false
[dependencies.der]
version = "0.8.0"
features = ["oid"]
optional = true
default-features = false
[dependencies.digest]
version = "0.11"
default-features = false
[dependencies.ed25519_heapless]
version = "0.6.0"
features = ["sha512-sha2"]
default-features = false
[dependencies.embedded-io]
version = "0.7.1"
default-features = false
[dependencies.fixed-bigint]
version = "0.6"
features = [
"use-unsafe",
"zeroize",
"cios",
]
default-features = false
[dependencies.heapless]
version = "0.9"
default-features = false
[dependencies.hkdf]
version = "0.13"
default-features = false
[dependencies.hmac]
version = "0.13"
default-features = false
[dependencies.hmac-sha256]
version = "1"
features = ["traits011"]
optional = true
default-features = false
[dependencies.kem]
version = "0.3"
optional = true
default-features = false
[dependencies.krabiecdsa]
version = "0.7.0"
optional = true
default-features = false
[dependencies.krabipqc]
version = "0.1.4"
optional = true
default-features = false
[dependencies.rand_core]
version = "0.10"
default-features = false
[dependencies.rsa_heapless]
version = "0.5.0"
features = ["modmath"]
optional = true
default-features = false
[dependencies.sha2]
version = "0.11"
default-features = false
[dependencies.signature]
version = "3"
default-features = false
[dependencies.subtle]
version = "2.6"
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
default-features = false
[dev-dependencies]