krabitls 0.5.1

A TLS13 client lib for microcontrollers.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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]